Разработка под управлением домена,.NET и платформа Entity Framework

Я новичок в дизайне, ориентированном на домен, но хочу узнать его и использовать его для нового приложения. Я буду использовать Entity Framework для доступа к данным.

Базовая компоновка до сих пор:

ASP.NET MVC и другие клиенты (мобильные устройства и т.д.)
|
Webservices
|
Модель домена (услуги, репозитории, агрегаты, объекты и объекты ценности)
|
Уровень доступа к данным (Entity Framework)
|
Хранилище данных (SQL Server)

Каков наилучший способ передачи данных между уровнем доступа к данным и моделью домена? Я думаю, что объекты в модели домена являются объектами POCO и что они должны отображаться в/из объектов Entity Framework. Это хорошее решение?

Если да:
Как и где должно происходить такое отображение? (Уровень модели домена или уровень доступа к данным)
Где и как я должен запрашивать Entity Framework (т.е. Возвращать список на основе поиска)?

Ответы

Ответ 1

АНДРЕЙ ЙЕМЕЛЬЯНОВ сделал магистерскую диссертацию по этому предмету:

http://gupea.ub.gu.se/dspace/bitstream/2077/10462/1/gupea_2077_10462_1.pdf

Это станет намного проще с выпуском EF 4, который поддерживает объекты POCO.

Тем временем вы можете попробовать использовать automapper для сопоставления между объектами домена и EF, см. http://www.lostechies.com/blogs/jimmy_bogard/archive/2009/01/22/automapper-the-object-object-mapper.aspx

Ответ 2

Я думаю, что объекты в модели домена являются объектами POCO и что они должны отображаться в/из объектов Entity Framework. Это хорошее решение?

Я думаю, что это так.

Это то, что мы сделали довольно успешно, хотя в моем случае в мире Java. Наши классы домена содержат большинство бизнес-логики. Каждый из них имеет ссылку на объект сущности тонких данных и делегирует получение и настройку постоянных свойств для объекта данных.

Ответ 3

Проект S # arp architecture является отличной отправной точкой для руководства по применению DDD. Он основан на NHibernate, но используемые принципы должны быть одинаково для EF...