从实体框架迁移到NHibernate

时间:2012-01-17 09:19:55

标签: .net entity-framework nhibernate

目前我们将使用2个数据库。一个来自预先存在的产品,因此我们无法控制它。另一个是我们完全控制的。

目前我们使用EF4 CTP,因为我们需要空间功能,但显然这不能用于产品代码,而最近的EF版本没有空间,因为这是后来发布的.Net Framework所以决定是关于前进的方法,一个建议是转移到NHibernate并使用空间插件。

所以第一个问题是关于学习曲线和工具之间的移动。在我看来,NHibernate在它正在做的事情上更加明显,EF隐藏了它在典型的MS风格中所做的很多事情,那会不公平呢?

所以我认为前进的方法是使用类图来描述我们控制的数据库。然后我们将创建POCO lasses,然后您需要创建映射文件。它真的像那样直截了当吗?这些映射文件,我们需要手动编写它们还是我们有一个工具来创建POCO类?

下一个问题是关于预先存在的数据库以及我们在这里做什么。 EF可以很容易地导入数据库并创建类,并且它在NHibernate中是直接的吗?

如果它影响答案

我们控制的数据库使用MS SQL数据库。 我们不是Oracle,我们使用Oracle的ODAC实体框架代码。

非常感谢

1 个答案:

答案 0 :(得分:3)

对于现有数据库,我建议使用Fluent NHibernate进行映射。 Sharp Architecture项目中有一个很好的例子

tools同时进行POCO生成和Fluent Mapping,我还没有尝试过任何一个,但我已经读过它们了。