:ServiceStack OrmLiteで自動インクリメントIDを取得する方法は?アイデンティティを持つテーブルの場合
[AutoIncrement]
public int Id { get; set;}
データベースに新しい行を挿入すると、オブジェクトのIDを取得するための最良の方法は何ですか?例えば
:
db.Insert <>(新しいユーザー())。
IDの値は挿入後に0ですが、データベースでは明らかにそうではありません。私が見ることのできる唯一の可能性は、次のとおりです。
Id = (int)db.GetLastInsertId();
しかし、これは安全な呼び出しであるとは思いません。同時に100個のインサートが発生した場合は、別のインサートのIDが返されます。 EFでは、挿入するとIdが自動的に設定されます。
誰もがこの問題を克服する最善の方法を知っていますか?
ああ、接続ごとに!今それははるかに理にかなっています。 – Dylan
v3の説明をありがとう! db.GetLastInsertId()は、私の考える隠しメソッドなので、うまくいかないようです。 – theoutlander