9

我与使用一些非常丑陋公约现有的数据库工作的C#实体。我想使用NHibernate,我想我可以使用Fluent NHibernate的自动映射约定修复所有这些丑陋的数据库约定。我想避免手写所有的实体类。 (这是LINQ to SQL和SubSonic吸引人的地方)生成从现有数据库和功能NHibernate自动映射

是否可以根据我的数据库模式和Fluent NHibernate中指定的映射生成我的C#实体?你知道NHibernate的设计师吗?

+2

我想我有一个建议,不是一个答案。当您使用对象关系映射时,意味着您对拥有适当的对象模型感兴趣,而不仅仅是数据模型以及插入/更新/删除记录的简单方法。你应该使用OOA/d要解决的问题域,并创建一个问题对象模型和你的情况,你需要一个额外的步骤,以该模型涉及到一个已经存在的数据模型。这就是为什么你不会轻易找到一个工具来生成你的课程,因为它们应该在第一步中被适当地定制。 反正...好运:) – 2009-12-21 12:20:27

回答

0

我还没有找到任何能够基于现有数据库模式生成连贯NHibernate代码的东西。

这里有一个类似的问题:

Using MyGeneration with Fluent NHibernate

至于设计师NHibernate的,有ActiveWriter,但这是城堡的ActiveRecord,而不是功能NHibernate。我记得至少看到一个可以作为NHibernate设计者的其他工具的参考,但目前我找不到它。

+0

LLBLGEN临V3现在还可以基于现有的数据库功能NHibernate代码的能力。 – Matt 2010-06-07 12:23:46

2

LLBLGenPro V3将作为众多ORM框架的通用设计器,包括LLBLGen自己的框架,NHibernate,Linq2SQL和Entity Framework。

它还包含用于生成所有上述框架的代码和映射的模板。

功能NHibernate正在考虑在目前:-)

0

代码战士提供了一堆用于从数据库表创建实体的模板。我用它来生成我的实体&服务&单元测试,然后使用fluentNH自动映射。这使我的项目非常快速地运行起来。该项目需要一些重新分解,但是代码库没有。