25

这个问题与使用带有实体框架的 Linq 进行查询优化有关。

.Where链接子句和在带有实体框架的 linq 查询&&的单个子句中使用之间有什么区别吗?.Where

例如:假设我有以下代码:

var result = context.SomeEntity.Where(exp1).Where(exp2);

或者

var result = context.SomeEntity.Where(exp1 && exp2);

在评估这些产生相同结果的语句时,linq 和实体框架是否以相同的方式评估它们?即,两者是否具有相同的执行计划,因此同样有效?

4

2 回答 2

23

是的,两者都有相同的执行计划。我添加了一个 sql 跟踪,并且都创建了相同的 SQL 语句

于 2011-02-17T13:32:42.413 回答
3

我总是选择,&&因为它使代码更易于阅读。通过使用多个 Where 这将产生大量额外的噪音并使注意力从逻辑上移开。

于 2012-09-26T21:49:22.597 回答