.AsNoTracking()
これは非常に新しく、非常に混乱しているので、拡張機能について質問があります。
私はウェブサイトにリクエストごとのコンテキストを使用しています。
多くのエンティティは変更されないため、追跡する必要はありませんが、次のシナリオでは、データベースに何が送信されるか、またはこの場合に違いがあるかどうかさえ不明です。
この例は私が現在やっていることです:
context.Set<User>().AsNoTracking()
// Step 1) Get user
context.Set<User>()
// Step 2) Update user
これは上記と同じですが、.AsNoTracking()
ステップ1からを削除します。
context.Set<User>();
// Step 1) Get user
context.Set<User>()
// Step 2) Update user
ステップ1と2は同じコンテキストを使用しますが、異なるタイミングで発生します。私が解決できないのは、違いがあるかどうかです。ステップ2は更新なので、どちらもデータベースに2回ヒットすることになると思います。
誰が私にその違いを教えてもらえますか?