Entity Frameworkクエリの作成時にAsNoTrackingメソッドが呼び出される場所は重要ですか?例えばEntity FrameworkのAsNoTrackingがどこで呼び出されるかは重要です
私は文の最後になく、ToListメソッドは、このように呼ばれる前にそれを追加したいとvar matchingCustomers = context.Customers.AsNoTracking().Where(n => n.city == "Milan").Skip(50).Take(100).OrderBy(n => n.Name).ToList();
var matchingCustomers = context.Customers.Where(n => n.city == "Milan").AsNoTracking().Skip(50).Take(100).OrderBy(n => n.Name).ToList();
var matchingCustomers = context.Customers.Where(n => n.city == "Milan").Skip(50).AsNoTracking().Take(100).OrderBy(n => n.Name).ToList();
var matchingCustomers = context.Customers.Where(n => n.city == "Milan").Skip(50).Take(100).AsNoTracking().OrderBy(n => n.Name).ToList();
var matchingCustomers = context.Customers.Where(n => n.city == "Milan").Skip(50).Take(100).OrderBy(n => n.Name).AsNoTracking().ToList();
var matchingCustomers = context.Customers.Where(n => n.city == "Milan").Skip(50).Take(100).OrderBy(n => n.Name).ToList().AsNoTracking();
:
var matchingCustomers = context.Customers.Where(n => n.city == "Milan").Skip(50).Take(100).OrderBy(n => n.Name).AsNoTracking().ToList();
実際、最後のケースでは、 'ToList'の後に' AsNoTracking'を呼び出すのはおそらくスローされます。そうでなければ、実際には 'AsNoTracking'が呼び出されるまでにエンティティが既にメモリに入っているので、実際にはノーオペレーションになります –
@PanagiotisKanavosはい、「クエリが実行される前に」と言われています。 'クエリを実行します。 –