Куда относится отображение объекта / базы данных? - PullRequest
1 голос
/ 09 августа 2011

В настоящее время я работаю над проектом, в котором мы используем облегченный DataAccessLayer. Проект состоит из бизнес-уровня, уровня обработки данных и проекта, в котором находятся DTO. Эта установка исправлена, и я не могу изменить. Я также не могу использовать полноценный ORM, такой как Nhibernate или Entity Framework.

хорошо, для правильной работы с этой настройкой нам нужно каким-то образом сопоставить свойства нашего DTO с полями базы данных. В настоящее время мы делаем это в dataaccesslayer (каждый объект / DTO «обладает» dataaccesslayer-class). Это происходит в двух методах MapTo и MapFrom: первый сопоставляет поля объекта с полями таблицы, а другой - наоборот.

Теперь мне интересно, является ли слой доступа к данным правильным местом для определения этого отображения. Разве не было бы лучше определить отображение в DTO. Например с атрибутами? Или лучше более общий метод вместо метода для каждого класса, который в основном просто отображает свойства в поля таблицы.

1 Ответ

0 голосов
/ 09 августа 2011

Вы имеете в виду модель предметной области под DTO, верно?Как правило, отображение между сущностями и таблицами принадлежит уровню доступа к данным.Но я бы не стал вкладывать это сопоставление в проект модели предметной области.В этом случае, например, когда ваша таблица БД изменяется, вам нужно изменить / скомпилировать модель домена, а также DAL.В другом примере, если у вас есть отображение в DAL, при переключении базы данных или метода ORM вы можете достичь этого только с изменением DAL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...