Dan*_*kin 8 c# linq linq-to-entities
这段代码有区别吗?
var query = DbContext.Customers
.Where(<condition>)
.Include("Address");
Run Code Online (Sandbox Code Playgroud)
和
var query = DbContext.Customers
.Include("Address")
.Where(<condition>);
Run Code Online (Sandbox Code Playgroud)
它是自定义的查询,我不知道,它是等同的吗?或者在第二种情况下where执行后Include?
谢谢.
对于EF顺序,选择之前没有关系。LINQ查询将转换为SQL查询并运行,并且SQL查询优化器不在乎原始查询的顺序。
正如Patryk所指出的,Include当以下语句修改查询的结构时,顺序尤其重要,但是where子句不执行此操作。
在其他LINQ查询(从LINQ到Objects)中,顺序可能会很重要,因为该查询没有按照SQL的方式进行重新优化,并且只是从上到下进行简单处理,并且某些LINQ方法需要以前的方法才能运行到完成并处理结果。在继续学习第一个元素之前(OrderBy例如)。