Я играл с деревьями выражений и различным синтаксисом Linq.Я написал следующее:
using (NorthwindDataContext DB = new NorthwindDataContext())
{
DataLoadOptions dlo = new DataLoadOptions();
// Version 1
dlo.AssociateWith<Customer>(c => c.Orders.Where(o => o.OrderID < 10700).Select(o => o));
// Version 2
dlo.AssociateWith<Customer>(c => from o in c.Orders
where o.OrderID < 10700
select o);
}
Метод версии 1 возвращает сообщение об ошибке «Оператор« Выбор »не поддерживается в подзапросе».
Хотя версия 2 работает нормально.Из того, что я понимаю, я пишу точно то же самое, но один с синтаксисом «точка», а другой - синтаксис выражения запроса.
Я что-то здесь упускаю?Почему ошибки одного, а не другого «если» на самом деле являются одним и тем же запросом?