2009-05-11 2 views
2

В EJB 3.0 вы можете записать объекты домена, затем преобразовать их в права (добавление атрибута @Entity и т. Д.) И основанный механизм JPA (предположим, Hibernate) может автоматически генерировать схему db , Что лучше, он также обновит db при обновлении модели домена в Java-коде.Создание db-схемы из объектов домена в .NET.

Я ищу эквивалент этой функциональности на платформе .NET. Возможно ли с помощью ADO.NET Entity Framework?

ответ

3

DataObjects.Net также автоматически создает и обновляет схему базы данных в соответствии с моделью домена. Но самое интересное заключается в том, как обновить сохраненные данные, если изменились модель и схема базы данных. Возможно ли это сделать на уровне сущности, а не с использованием низкоуровневого SQL?

1

Да - в будущем :-) Нынешняя платформа Entity Framework не поддерживает подход «домен-первый», но следующая версия (EF v4) будет. Это будет поставляться с .NET 4.0/Visual Studio 2010 - но не спрашивайте меня, когда! Я не знаю (и не Microsoft).

Марк

0

Есть рамки третьей стороны, которые делают это в .NET сегодня.

2

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

Как уже упоминалось, Entity Framework добавит некоторые из этих функций в следующую версию, но это некоторое время.

Details of the LightSpeed designer with the model first support

1

является .NET порт Hibernate, и я думаю, что она включает в себя инструменты для создания схемы базы данных для организаций.

2

Active Record - это путь вперед! Вы помечаете свои объекты атрибутами, и оттуда вы можете создать схему базы данных или базу данных. Существует также инструмент под названием Active Writer, который позволяет вам нарисовать модели, и он записывает коды с правильными атрибутами для вас.

Это, по сути, оболочка для NHibernate, но это делает вещи немного проще, поскольку вы выполняете сопоставление объектов, а не в документах XML.

Мы использовали это в нескольких проектах и ​​обнаружили, что это быстрый способ реализации сложных систем.

Смежные вопросы