此问题适用于使用Linq和实体框架进行查询优化。
将linq查询的单.Where
子句中的&&
链接到.Where
子句与实体framwork之间是否有任何区别?
例如:假设我有以下代码:
var result = context.SomeEntity.Where(exp1).Where(exp2);
或
var result = context.SomeEntity.Where(exp1 && exp2);
在评估产生相同结果的这些语句时,linq和实体框架是否以相同的方式评估它们?即,两者是否都有相同的执行计划,因此效率相同?
答案 0 :(得分:21)
是的,两者都有相同的执行计划。我添加了一个sql跟踪,并且都创建了相同的SQL语句
答案 1 :(得分:2)
我总是使用&&
,因为它使代码更容易阅读。通过使用多个,这将产生大量额外的噪音,并把重点放在逻辑上。