Принадлежит ли контекст приложения инфраструктуры объектов домену или уровню доступа к данным? - PullRequest
0 голосов
/ 27 января 2011

Является ли контекст приложения инфраструктуры объектов (DbContext, который содержит сопоставление) принадлежащим домену или слою доступа к данным?

Спасибо.

Ответы [ 3 ]

1 голос
/ 27 января 2011

в вашем сценарии контекст должен использоваться только на уровне доступа к данным, а затем результаты передаются в ваш домен - что-то вроде Autopper преобразует контекстные объекты в объекты домена

0 голосов
/ 29 января 2011

Это полностью зависит от вашего приложения. Иногда имеет смысл иметь отдельный слой домена со своими собственными объектами домена. Иногда это не так.

Действительно, для большинства приложений, я бы сказал, что сущности EF идеально подходят для того, чтобы быть объектами вашего домена, и нет никакой угрозы ссылаться на контекст непосредственно из вашего слоя "домен". Действительно, EF разработан с учетом этого. Создание совершенно отдельного набора доменных объектов, в которые ваши EF-сущности отображаются каким-либо промежуточным уровнем, должно быть оправдано.

Это не означает, что наличие отдельного доменного уровня никогда не подходит. Иногда, например, когда вы сталкиваетесь с проблемами межпроцессного взаимодействия / приложения, например, когда вы представляете свои сущности с помощью WCF, имеет смысл создавать новые доменные объекты (которые в данном случае могут быть просто вашими классами DataContract ) в которую вводятся данные вашей организации.

Но таких случаев действительно немного, и они далеко друг от друга. Если вы делаете это часто, вы чрезмерно проектируете свое приложение и становитесь жертвой догмы «чистых» парадигм дизайна.

0 голосов
/ 27 января 2011

Мои $ 0,02 в том, что он должен «принадлежать» (утилизироваться) вашему контейнеру DI. Он должен использоваться вашей единицей выполнения работы.

...