В 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, это правильно?