Когда мне следует использовать IEnumerable, а когда IQueryable?
В чем разница между IQueryable и IEnumerable?
Когда мне следует использовать IEnumerable и когда IQueryable?
В чем разница между IQueryable и IEnumerable
В этих сообщениях утверждается, что IEnumerable фильтрует данные из памяти, в то время как IQueryable делает это внутри серверная часть. Но я обнаружил, что это неточно.
Код: Выделить всё
IEnumerableНапример, если я использую IEnumerable вот так
Код: Выделить всё
IEnumerable customers = context.Customers.Where(c => c.FirstName.StartsWith("J")).Take(5).ToList();
Код: Выделить всё
select top(5) * from Customers WHERE FirstName like 'j%';
Код: Выделить всё
IEnumerable customers = context.Customers.Where(c => c.FirstName.StartsWith("J"));
var result = customers.Take(5).ToList(); //the filter is in a different line of code
Код: Выделить всё
select * from Customers WHERE FirstName like 'j%';
Почему люди до сих пор утверждают, что IEnumerable фильтрует данные из памяти, а IQueryable делает это на стороне сервера?
Подробнее здесь: https://stackoverflow.com/questions/784 ... e-iqueryab
Мобильная версия