Создание БД с использованием ORM - PullRequest
4 голосов
/ 08 января 2010

Существует ли C # .NET ORM, который может создавать базы данных?
Он должен быть способен по крайней мере создавать базы данных MS + MySQL + PostGre + Oracle.
И я не имею в виду таблицы или схемы, я имею в виду только базу данных.
Я использую nHibernate, но он может создавать только таблицы и схемы и запрашивать / вставлять, но не создает саму базу данных.

Ответы [ 4 ]

4 голосов
/ 08 января 2010

Это обычно немного выходит за рамки ORM. Существенная сложность связана с созданием базы данных, которая часто не имеет ничего общего с сопоставлениями вашего приложения (разрешения, контроль доступа и т. Д.). Иногда инструменты ORM генерируют DDL / операторы, необходимые для создания базы данных с нуля, но это не совсем то же самое, что фактически создание самой базы данных.

2 голосов
/ 08 января 2010

DataObjects.Net - он предназначен для подхода, основанного на модели; он поддерживает MS SQL, Oracle и PostgreSQL. Планируется поддержка MySQL.

См. Обновление схемы базы данных глава Руководства - объясняются подробности, связанные с созданием и обновлением схемы времени выполнения.

В отличие от платформы Signum (которая на самом деле очень близка к подходу, который она поддерживает), DataObjects.Net практически не имеет ограничений, связанных с отображением. Например. Вы можете использовать составные первичные \ внешние ключи. Еще одним его преимуществом является отличная поддержка LINQ .

P.S. Я один из его авторов.

0 голосов
/ 08 января 2010

Я использовал функцию SchemaExport nHibernate (NHibernate.Tool.hbm2ddl) для генерации DDL из моих классов и карт.

Проверьте это:

Создание БД из классов и сопоставлений с помощью NHibernate-Domain Driven Design
Руководство по набору инструментов NH

Соответствующее сообщение SO:
NHibernate SchemaExport и Configure () catch-22

Обновление:
Прочитав ваш комментарий, я не совсем уверен, что это то, что вам нужно. Во всяком случае, просто для информации.

0 голосов
/ 08 января 2010

http://www.signumframework.com/

Один из очень немногих ORM, основанный на Модель-первый подход .

alt text
(источник: signumframework.com )

Также обратите внимание, что будущие выпуски среды Entity должны поддерживать подход, основанный на модели.

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