从.NET中的域对象创建db模式

时间:2009-05-11 16:04:13

标签: c# .net orm

在EJB 3.0中,您可以编写域目标,然后将它们转换为权限(添加@Entity属性等),底层JPA机制(假设Hibernate)可以自动生成数据库模式。当您在Java代码中更新域模型时,它还会更新db。

我在.NET平台上寻找相同的功能。可以使用ADO.NET Entity Framework吗?

6 个答案:

答案 0 :(得分:3)

DataObjects.Net还根据域模型自动生成和升级数据库模式。但最有趣的是如果更改了模型和数据库模式,如何升级存储的数据。 是否可以在实体级别上执行,而不是使用低级SQL?

答案 1 :(得分:2)

Mindscape LightSpeed支持这一点 - 完全模式循环跳过模型优先或数据库优先开发。它是商业产品,但有小型数据库的免费版本。

如上所述,实体框架将在其下一个版本中添加其中一些功能,但这还需要一段时间。

Details of the LightSpeed designer with the model first support

答案 2 :(得分:2)

Active Record是前进的方向!使用属性标记对象,然后可以从中生成数据库模式或数据库本身。还有一个名为Active Writer的工具,它允许您绘制模型,并为您编写具有正确属性的代码。

它本质上是NHibernate的包装器,但是当你在对象上而不是在XML文档中进行映射时,它会使事情变得容易一些。

我们在几个项目中使用了它,并发现它是实现复杂系统的一种快速方法。

答案 3 :(得分:1)

是 - 未来:-)当前的实体框架不支持“域优先”方法 - 但下一个版本(EF v4)将支持。这将随.NET 4.0 / Visual Studio 2010一起发布 - 但是什么时候不要问我!我不知道(微软也没有)。

马克

答案 4 :(得分:1)

NHibernate是Hibernate的.NET端口,我认为它包含为您的实体生成数据库模式的工具。

答案 5 :(得分:0)

今天有第三方框架在.NET中执行此操作。

相关问题