Я пишу новое приложение, используя Entity Framework.
Где будет лежать EF? В настоящее время я думаю о том, чтобы изолировать его в сборке DataAccess, которая предоставляет множество репозиториев (которые по сути обертывают EF).
Затем я создал бы свои собственные доменные объекты и передал бы их в хранилище, которое сопоставляет их с EntityFramework Entity (который я рассматриваю как DAO).
Проблема с этим подходом состоит в том, сколько картографирования мне нужно сделать, даже для модели меньшего домена.
Мне также нравится подход Repository.GetAll(Func<TDomainObj, bool> filter)
для получения отфильтрованного числа элементов, однако мне нужно будет преобразовать функцию для получения DAO:
Func<**TDomainObj**, bool> filter
--->
Func<**TEntityFrameworkObj**, bool> filter
Не уверен, как я мог это сделать? Если бы я просто разрешил Func<TEntityFrameworkObj, bool>
в хранилище, вызывающая сторона должна была бы знать о System.Data.Objects
.
Я начинаю думать, что мне нужно просто соединить приложение с EF и использовать их System.Data.Objects
в качестве моей модели ....
Ждем ваших предложений / комментариев,
David