This question pertains to query optimization using Linq with the Entity Framework.
Is there any difference between chaining .Where
clauses and using &&
in a single .Where
clause of a linq query with the entity framwork?
E.g.: suppose I have the following code:
var result = context.SomeEntity.Where(exp1).Where(exp2);
or
var result = context.SomeEntity.Where(exp1 && exp2);
When evaluating these statements, which yield the same result, does the linq and the entity framework evaluate them in the same way? i.e., will both have the same execution plan, and therefore be equally efficient?
Yes both will have the same execution plan. I have added a sql trace and both create the same SQL statements
I always go with the &&
because it makes the code easier to read. By using multiple Where this will create a lot of extra noise and take focus off of the logic.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With