Генерация кода - генерация DTO путем обращения к таблицам базы данных. - PullRequest
1 голос
/ 26 октября 2011

Я работаю с NHibernate.Мне нужно генерировать DTO для переноса данных.Я не хочу делать это вручную.Поэтому я ищу ярлыки и инструменты, чтобы помочь мне.Я надеялся найти простой инструмент, который генерирует объекты, которые отражают таблицы базы данных.Свойства этих объектов будут иметь то же имя и эквивалентные типы, что и для таблиц базы данных.

Ответы [ 3 ]

0 голосов
/ 26 октября 2011

Visual Nhibernate может создавать объекты домена из схемы базы данных.Затем вы можете изменить эти объекты и получить нужные вам DTO.Если у вас есть оба типа объектов, вы можете последовать совету Митча и использовать такой инструмент, как EmitMapper или AutoMapper, для автоматического сопоставления объектов домена с DTOS.

0 голосов
/ 27 октября 2011

Нашел то, что искал, наблюдая одну из сессий http://summerofnhibernate.com/, в частности, Сессию 08: Эффективные методы моделирования на основе базы данных.

Инструмент, который он использует, называется MyGeneration , который создает DTO, просматривая таблицы базы данных.

0 голосов
/ 26 октября 2011

Инструмент, который просматривает вашу базу данных и создает типы, называется ORM (Object Relational Mapper).Доступны как бесплатные, так и коммерческие: Entity Framework и LLBLGEN приходят на ум.

Если у вас уже есть ваши типы, вы можете использовать AutoMapper для преобразования в DTO:

AutoMapper - это средство отображения объектов.Сопоставление объектов и объектов осуществляется путем преобразования входного объекта одного типа в выходной объект другого типа.Что делает AutoMapper интересным, так это то, что он предоставляет некоторые интересные соглашения для извлечения грязной работы из выяснения того, как сопоставить тип A с типом B. Пока тип B следует установленному соглашению AutoMapper, для сопоставления двух типов требуется почти нулевая конфигурация.

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