В приведенном ниже запросе Linq2Sql кто-нибудь может мне сказать
1) Когда SQL-запрос отправляется на SQL-сервер?
a) Когда запросу назначено выражение или
b) (отложенное выполнение), когда оно требуется в цикле foreach?
var query = from c in myDataContext.Customers
where c.FirstName == 'Tom'
select c;
foreach(customer cust in query)
{
//...do something
}
2) Преобразует ли приложение .NET или SQL Server дерево выражений в запрос SQL?Я спрашиваю об этом потому, что
a) Все чтения, которые я делал на деревьях выражений, говорят о том, что они были необходимы для динамической отправки кода по проводам вместо динамического выполнения.отправка MSIL.
b) Если я наведу курсор мыши на запрос после назначения ему выражения, я уже вижу, что оно изменило его на SQL
Если приложение .NET выполняет преобразование, то как в действительности можно сказать, что дерево выражений было отправлено по сети на сервер sql?Он только что отправил строку sql.