Есть ли какие-либо издержки производительности при разбивке единственного Where () с && на 2 Where () вызовов (в EF)? - PullRequest
0 голосов
/ 05 октября 2011

В Entity Framework, есть ли какие-либо затраты производительности для этого ...

var businesses = dbContext.Businesses.Where(x => x.Name.ToLower().StartsWith(name) && businessTypes.Contains(x.Type));

... против этого?

var businesses = dbContext.Businesses.Where(x => x.Name.ToLower().StartsWith(name)).Where(x => businessTypes.Contains(x.Type));

Я предпочитаю делать последнее, так как его легче читать, но нет, если сгенерированный SQL серьезно пострадает от производительности.

1 Ответ

3 голосов
/ 05 октября 2011

Нет, производительность не снижается - поставщик EF Linq сопоставляет оба запроса SQL.Я лично считаю, что первая версия гораздо более читабельна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...