Подтвердить что ты не робот

Entity Framework Linq query:.Where chain vs &&

Этот вопрос относится к оптимизации запросов с использованием Linq с платформой Entity Framework.

Есть ли разница между цепочки .Where и использованием && в одном предложении .Where запроса linq с фреймворком сущности?

Например: предположим, что у меня есть следующий код:

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

или

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

При оценке этих операторов, которые дают один и тот же результат, выравнивает ли linq и инфраструктуру сущности таким же образом? то есть оба будут иметь один и тот же план выполнения и, следовательно, быть одинаково эффективными?

4b9b3361

Ответ 1

Да, оба будут иметь один и тот же план выполнения. Я добавил трассировку sql и создаю те же операторы SQL

Ответ 2

Я всегда использую &&, потому что он упрощает чтение кода. Используя несколько, где это создаст много дополнительного шума и сфокусируется на логике.