Предположим, что нормальное выражение Linq будет примерно таким:
(Это просто пример, чтобы сделать вещи более понятными)
IQueryable<Person> personQuery= (from ppl in PersonContext
select ppl).ASQueryable();
List<Person>personList = personQuery.where(x => x.age==13).ToList();
Так что, если я решил поместить первую часть запроса linq в хранимую процедуру,
все получится примерно так.
IQueryable<Person> personQuery= PersonContext.sp_RetrievePerson().ASQueryable();
List<Person> personList = personQuery.where(x => x.age==13).ToList();
Итак, я считаю, что 1-й метод отправляет вызов sql только при вызове toList ().
Другими словами, запрос, отправленный в sql для выполнения, будет
Select * from Person where age=13
Но для метода 2 сколько раз этот запрос будет отправлен на выполнение?
Если он отправляется только 1 раз, делает ли это избыточным вызов хранимой процедуры, поскольку известно, что хранимая процедура имеет более быстрое выполнение, и как будет выглядеть запрос, отправленный в sql?