C# 拆分多个linq include()
如何拆分多个linq include方法进行优化查询:C# 拆分多个linq include(),c#,entity-framework,linq,C#,Entity Framework,Linq,如何拆分多个linq include方法进行优化查询: allRecords = context.Records.Where(r => r.versionId == version.id) .Include(x => x.colors) .Include(x => x.tags) .Include(x => x.ranks) .OrderBy(r => r.sortkey).ToList(); 如何通过将查询分解为更简单的查询来优化它? 这个请求太慢了。有必要提高
allRecords = context.Records.Where(r => r.versionId == version.id)
.Include(x => x.colors)
.Include(x => x.tags)
.Include(x => x.ranks)
.OrderBy(r => r.sortkey).ToList();
如何通过将查询分解为更简单的查询来优化它?
这个请求太慢了。有必要提高其性能。您可以使用一些布尔标志将include设置为有条件的:
var query = context.Records.Where(r => r.versionId == version.id);
if (includeColors) query = query.Include(x => x.colors);
if (includeTags ) query = query.Include(x => x.tags);
if (includeRanks ) query = query.Include(x => x.ranks);
allRecords = query.OrderBy(r => r.sortkey).ToList();
我不明白这个问题。如果不需要包含,请将其删除或注释掉。在这种情况下,拆分是什么意思?如何通过将查询分解为更简单的查询来优化查询?编辑并不能改善任何效果。如果要检索颜色,则要检索颜色。如果你不想要它们,就不要使用Include@MichaelKostiuchenko如何通过将查询分解为更简单的查询来优化它?没有任何解释。执行更多查询更为复杂,可能比检索所需内容的一个查询慢N倍。解释实际问题是什么