ORM, которые генерируют структуры базы данных из классов - PullRequest
3 голосов
/ 18 декабря 2008

Я посмотрел на NHibernate и EntitySpaces, и они оба работают по-разному.

В EntitySpaces вы определяете таблицы базы данных и связи таблиц, и классы создаются для вас.

В NHibernate вы определяете классы, и связи таблиц создаются для вас. Это то, что я ищу.

Существуют ли другие ASP.NET ORM, которые генерируют таблицы из таких классов, как NHibernate? Любые рекомендации?

Ответы [ 7 ]

4 голосов
/ 15 июля 2009

DataObjects.Net также использует подход «Сначала код» (сначала модель). Смотри http://wiki.dataobjects.net/index.php?title=Features

3 голосов
/ 18 декабря 2008

Linq to SQL может создавать структуры таблиц базы данных и отношения из классов с помощью метода dataContext.CreateDatabase () .

2 голосов
/ 24 декабря 2008

Mindscape LightSpeed ​​предлагает эту способность - часть полной схемы кругового отключения.

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

http://www.mindscape.co.nz/blog/index.php/2008/06/17/schema-round-tripping-in-the-lightspeed-designer/

1 голос
/ 24 декабря 2008

LightSpeed ​​ имеет действительно хороший дизайнер Visual Studio, который поддерживает создание классов сущностей .NET из базы данных и обновление базы данных из ваших сущностей .NET.

1 голос
/ 18 декабря 2008

Я предпочитаю подход, который у меня есть полный контроль, чтобы также генерировать то, что мне нужно. В случае ORM я получаю классы, которые соответствуют моим таблицам. Я считаю, что использование моего собственного домена объектов, производных от моего бизнеса, а не основного хранилища данных, является правильным решением. Мои иерархии классов, которые представляют мои бизнес-данные, должны быть на 100% независимы от хранилища данных.

0 голосов
/ 18 декабря 2008

Я имел довольно хороший успех, работая с Genome ORM. Это делает много работы для вас. Вы можете сначала спроектировать модель вашего домена, а затем сгенерировать сценарии БД из этого. Помимо этого генома генерирует DTO для вас. Это довольно неплохо и экономит много времени разработчикам.

http://www.genom -e.com

0 голосов
/ 18 декабря 2008

Это то, что делает NHibernate.

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

Мое рассуждение: вы тратите гораздо больше времени на кодирование домена, чем на саму базу данных - особенно при использовании orm. Так что проводите это время с умом.

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