ASP.NET MVCアプリケーションでEntity Frameworkを使用していますが、LINQ経由でSQL Serverからデータを読み込む際に問題が発生しています。私のクエリは結果を4秒で返しますが、より良い解決策を探しています。ここで Entity Framework Linqクエリの実行時間を短縮する方法は?
は私のLINQクエリです:var user =
context.CreateObjectSet<DAL.ProductMaster>()
.AsNoTracking()
.Include("Product1").AsNoTracking()
.Include("Product2").AsNoTracking()
.Include("Product3").AsNoTracking()
.Include("Product4").AsNoTracking()
.Include("Product5").AsNoTracking()
.Where(x => x.Id == request.Id)
).FirstOrDefault();
エンティティを少なく読み込もうとしましたか? – Marco
IdおよびOrganizationIdに索引を作成したかどうかを確認してください。インデックスはこの状況をスピードアップすることができます。 – Tony
他のテーブルやデータのうち_ALL_が必要なことは確かですが、JOIN操作が非常に多く生成されるため、高価になる可能性があります。さらに、 'Where()'句を 'FirstOrDefault()'に置き換えることで、少しだけ整理することができます。また、それぞれのInclude()に 'AsNoTracking()'コールを必要としない可能性もあります。 –