Если я хочу выбрать только несколько столбцов при извлечении данных для сущности EF и привести их к типу сущности, я не смогу этого сделать, потому что он выдает ошибку, как указано в этом посте Субъект не может бытьпостроен в запросе LINQ to Entities .Я не хочу выбирать все столбцы, потому что мне нужно только несколько из них.Я могу использовать анонимные типы, но если я использую шаблон репозитория и хочу инкапсулировать весь код доступа к данным в объект репозитория и передать строго типизированную коллекцию объектов в контроллер (не анонимную коллекцию объектов), как я могу этого достичь?Является ли единственной возможностью определить объект DTO для каждого подмножества свойств объекта EF?Я знаю, что существует риск потери данных с частично загруженными объектами, но если я готов пойти на риск и хочу получить полный контроль над обновлениями данных, разве это невозможно?
например, мне бы хотелось "ProductRepository"подпись метода должна быть такой
public IEnumerable<Product> GetProducts(int categoryID) //selection of subset of data
, и я хочу передать эту коллекцию продуктов из контроллера в представление (в проекте ASP.NET MVC), а в представлении я хочу иметь строго типизированную модель (с интеллигентным) объектом.Это возможно?в противном случае мне, возможно, придется пересмотреть вопрос об использовании EF для моего проекта из-за этого ограничения.Я использую версию EF 4.1.