我看过NHibernate和EntitySpaces,他们似乎都有不同的工作方式。
在EntitySpaces中,您可以定义数据库表和表关系,并为您生成类。
在NHibernate中,您可以定义类,并为您生成表关系。这就是我要找的。 p>
是否还有其他ASP.NET ORM从NHibernate等类生成表? 有什么建议吗?
答案 0 :(得分:4)
DataObjects.Net也使用“Code first”(模型优先)方法。 见http://wiki.dataobjects.net/index.php?title=Features
答案 1 :(得分:3)
Linq to SQL可以使用dataContext.CreateDatabase()方法从类创建数据库表结构和关系。
答案 2 :(得分:2)
Mindscape LightSpeed提供此功能 - 完整计划往返的一部分。
希望这有帮助
答案 3 :(得分:1)
我更喜欢一种方法,我可以完全控制生成我需要的东西。在ORM的情况下,我获得与我的表匹配的类。我相信使用我自己的对象域来源于我的业务,而不是基础数据存储是正确的方法。我的业务数据的类层次结构应该100%独立于数据存储。
答案 4 :(得分:1)
LightSpeed有一个非常好的Visual Studio设计器,它支持从数据库生成.NET实体类和从.NET实体更新数据库。
答案 5 :(得分:0)
这是NHibernate所做的事情。
关于这个话题(那个Draemon)开始了。我个人的观点是,除非性能是您的首要任务,并且所有其他事情都必须受到影响(例如,在为制造工厂编写软件时),您最好先处理域模型。
我的理由:你花在编码域上的时间比对数据库本身要多得多 - 特别是在使用orm时。所以明智地花时间。
答案 6 :(得分:0)
我在使用Genome ORM方面取得了相当不错的成功。它为你做了很多工作。您可以先设计域模型,然后从中生成数据库脚本。除此之外,Genome还为您生成DTO。它非常擅长并节省了很多开发人员的时间。