实体框架Linq查询:.Where chain vs &&

bun*_*ink 25 linq entity-framework ef-fluent-api

此问题涉及使用Linq和实体框架进行查询优化.

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

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

var result = context.SomeEntity.Where(exp1).Where(exp2);
Run Code Online (Sandbox Code Playgroud)

要么

var result = context.SomeEntity.Where(exp1 && exp2);
Run Code Online (Sandbox Code Playgroud)

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

Adu*_*cci 22

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