我有一些缓慢的 linq 查询,需要优化它们。我已阅读有关已编译查询并在我的只读操作中在 NoTracking 中设置合并选项的信息。但我认为我的问题是我有太多的包含,所以在数据库中完成的连接数量是巨大的。
context.ExampleEntity
.Include("A")
.Include("B")
.Include("D.E.F")
.Include("G.H")
.Include("I.J")
.Include("K.M")
.Include("K.N")
.Include("O.P")
.Include("Q.R")
.Where(a => condition1 || complexCondition2)
我的疑问是,如果我将 Where 放在 Includes 之前,是否会在进行所有连接之前过滤 ExampleEntity 对象?我不确定如何将 linq 查询转换为 SQL