В LINQ-to-Entities вы можете запросить объекты, выполнив:
var students = SchoolContext.Students.Where(s => s.Name == "Foo" && s.Id == 1);
Я знаю, что за кулисами он будет переведен в SQL на нечто похожее на:
SELECT *
FROM Students
WHERE Name = 'Foo' AND Id = 1
Однако есть ли разница (по производительности), если я пишу:
var students = SchoolContext.Students
.Where(s => s.Name == "Foo")
.Where(s => s.Id == 1);
Будет ли он переведен на тот же SQL-запрос? Из моего понимания .Where()
вернет IEnumerable<T>
, поэтому второй .Where()
будет фильтровать сущности in-memory вместо перевода IQueryable<T>
в SQL, это правильно?