Отложенное выполнение linq C# Tolower Toupper Tostring

Мне интересно, когда я делаю это:

IQueryable<customer> customers = new IQueryable<customer>();
var customers = db.customers.Where(x=> x.Name.ToLower() == "john");

Останавливается ли отложенное выполнение при использовании таких методов, как "ToLower() или ToUpper или Tostring"?

1 ответ

Решение

Останавливается ли отложенное выполнение при использовании таких методов, как "ToLower() или ToUpper или Tostring"?

Неважно, какой метод называется линией x.Name.ToLower() == "john" не будет выполнен (на самом деле полный Where() не будет называться) если customers переменная материализуется или перечисляется, или если вы не заносите результаты в память, вызывая ToList() в конце запроса.

Другие вопросы по тегам