CastleProjectのActiveRecordをMySQLと一緒に使用しています。私は、最後のインサートIDを取得したかったので、私はこのようなものでした:Castle ActiveRecordの最後の挿入IDを取り出す方法は?
[ActiveRecord]
public class UserDb : ActiveRecordBase<UserDb>
{
[PrimaryKey]
public uint Id { get; set; }
[Property]
public int OtherStuff { get; set; }
}
public void Blablabla()
{
UserDb user = new UserDb();
user.OtherStuff = 123;
user.CreateAndFlush();
Console.WriteLine(user.Id);
}
は時々、それが正しいIDを出力し、時には、それだけで0 を出力し、私は何を逃しましたか?
注:これは私が同じデータベースに同時に複数のサーバーを接続していて、一意のIDジェネレータが必要だったためです。ユニークでは、私はそれらのサーバー間で一意であることを意味します。いくつかのサーバの中で一意のIDジェネレータを維持するための他の解決策があるなら、私は非常に感謝します。
ありがとうございました!
私は 'user.Refresh()'を使ってみましたが、 'user.Id'にはまだ0が残ることがあります。 –