Используя EF 4, у меня есть несколько подтипов бизнес-объекта (клиенты, поставщики, транспортные компании и т. Д.). Они должны быть подтипами. Я создаю общую модель представления, которая вызывает службу, из которой осуществляется доступ к универсальному репозиторию.
Поскольку у меня есть 4 подтипа, было бы хорошо иметь «общую» модель представления, используемую для всех этих. Проблема, конечно, в том, что я должен вызывать определенный тип в моем общем хранилище, например:
BusinessToRetrieve = _repository
.LoadEntity<Customer>(o => o.CustomerID == customerID);
Было бы хорошо иметь возможность вызывать <SomethingElse>
, что-то еще (это один или другой из подтипов), в противном случае мне придется создать 4 близко идентичных viemodels, что, конечно, кажется пустой тратой! Имя сущности подтипа доступно для модели представления, но я не смог выяснить, как заставить приведенный выше вызов преобразовать это в тип. Проблема с достижением того, чего я хочу, заключается в том, что, по-видимому, передаваемое лямбда-выражение не сможет разрешиться при «общем» вызове?