EF4 /w SQL Server 2008 を使用します。
次のコード (次のように定義された PK を持つテーブルに対してInt IDENTITY(1,1)
:
ctx.AddObject(GetEntitySetName(), newEntity);
ctx.SaveChanges();
SQL をプロファイリングしたときの結果は、insert ステートメントに続いて、挿入先のテーブルに対するルックアップになります。
SELECT ID FROM Table
WHERE ID = @@ScopeIdentity AND @@RowCount > 0
EntityFramework
種子の取得を防ぐ方法はありIdentity
ますか? .Net コードに ID を戻す必要はありません。大量の状況では、無駄な操作のように思えます。
あるいは、この操作を実行する方法を変更するように EF に指示する方法はありますか? 使用される戦略は、この欠陥レポートで Microsoft が行った推奨事項に反します。
http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=328811