У меня есть запрос, который я хотел бы предварительно скомпилировать, однако запрос выполняется для уже существующего ObjectQuery следующим образом: -
ObjectQuery<Books> books = _ctx.Books.Include("Authors");
books = books.Where(book=>book.Vendor.Listing.Select(vend=>vend.Price > 200));
Я хотел бы использовать скомпилированный запрос длявторой запрос, однако, повлечет за собой передачу объекта «books» в метод «Invoke» скомпилированного запроса, который, когда я пытаюсь это сделать, выдает ошибку, говорящую, что «поддерживаются только скалярные типы», поскольку «books» имеет тип ObjectQuery.
Так что я не могу сделать что-то вроде этого: -
var results = QueryCache.GetVendorFilter.Invoke(context,books);
, где GetVendorFilter - это скомпилированный запрос.
Есть ли другой способ получить этот запросбыть скомпилированным?Кто-нибудь знает, есть ли у EF4 это ограничение?