инструмент генерации кода для отображения ORM - PullRequest
1 голос
/ 22 мая 2009

Похоже, что инструментов для генерации кода не существует, и, скорее всего, не нужно проходить через каждый из них, чтобы увидеть, что по-прежнему поддерживается, удобно и обеспечивает настройку. Генерация кода предназначена для отображения NHibernate и последующего создания объектов значений или объектов передачи данных (DTO). Было бы здорово, если бы он также мог генерировать на других языках, таких как сценарий действия.

Поскольку это разрабатываемое приложение использует базу данных, ORM обычно представляет собой отображение 1: 1. Я знаю, что это побеждает большинство причин использования NHibernate, но это то, что есть.

Ответы [ 4 ]

2 голосов
/ 22 мая 2009

T4 - встроен в Visual Studio 2008. Вы уже получили его бесплатно. Работает хорошо, полностью поддерживается. Если вы выполните поиск, вы можете найти сценарии T4 для Linq To Sql и Entity Framework. Я уверен, что сценарий NHibernate также существует.

MyGeneration: с открытым исходным кодом, тоже очень хорошо. Нет интеграции с Visual Studio.

Код Смит: Коммерческий, отлично справляется со своей работой. Также интегрируется в Visual Studio.

Все они настраиваемые. Кодекс Смит и Т4 очень похожи на меня по сценарию.

0 голосов
/ 22 мая 2009

Мы использовали открытый исходный код NVelocity

0 голосов
/ 22 мая 2009

У меня еще не было времени взглянуть на это, но Entity Framework в 4.0 (VS2010, теперь доступен в публичной бета-версии) поддерживает шаблоны T4 для генерации кода из edmx ... так что вы можете настроить его так, как вам нравится. , Ищите «Шаблон Entity Framework T4», и вы найдете много, особенно за последние несколько дней.

0 голосов
/ 22 мая 2009

Обычно я создаю XSLT, который запрашивает системные объекты, присоединенные к syscolumns (предполагается, что используется SQL Server), и преобразует выходные данные для создания необходимых структур. Это имеет обратную сторону, что вы должны кодировать и отлаживать это самостоятельно. Тем не менее, после того, как вы все заработаете, у вас будет 100% гибкость в расширении и настройке, и единственными затратами времени и усилий будут первоначальные (обычно около 2-3 дней для получения первоначальной рабочей копии).

Надеюсь, это поможет,

Bill

...