EF 与 NHibernate 与 Oracle

Posted

技术标签:

【中文标题】EF 与 NHibernate 与 Oracle【英文标题】:EF vs NHibernate with Oracle 【发布时间】:2012-08-20 16:39:07 【问题描述】:

这不是另一个“圣战”问题。它是具体的,绝对可以回答。

这个问题的基本假设是 NHibernate 和 Entity Framework 4.3 Code First 都不能很好地与 MS SQL SERVER 一起工作。

我注意到人们在将 Entity Framework 4.3 Code First 与 Oracle RDBMS 结合使用时遇到了问题。存在几个基本问​​题,并且尚无法实现无缝集成。

NHibernate 也是如此,或者当我使用 NHibernate 作为我的 ORM 框架时,我是否能够无缝地在 MS SQL 和 Oracle 数据提供程序之间切换,因为我知道我的应用程序可以很好地与任何一种产品配合使用?

更新:其他人在使用 EF 和 Oracle 时遇到的问题源自this 问题的答案。特别是该用户的问题尚未解决: Oracle ODP.Net and EF CodeFirst - SaveChanges Error

【问题讨论】:

您的应用程序永远无法与任一 RDBMS 无缝协作。他们以不同的方式实现许多东西...... 谢谢,本。所以即使有“100 年历史”的 NHibernate,也不能在 MS SQL 和 Oracle 之间切换? @MaximV.Pavlov,没有具体事实,这个问题既不具体,也不可回答。我将举行最后一票,让您有机会具体说明 EF+Oracle 存在哪些问题。此外,切换数据库从来都不是 100% 无缝的;你应该指定你的要求。 @DiegoMijelshon,我添加了关于 EF-Oracle 操作的未回答问题的特定示例,但这不是我遇到的问题。我正在提前检查,看看我是否能够从实际设法让 RDBMS 工作的人那里获得无缝的 RDBMS“切换”。 @MaximV.Pavlov,NHibernate 很好地处理了这种特殊情况,但尚不清楚它是否真的是一个错误或错误的用法。如果您想要意见,NH 更成熟,并且在 RDBMS 中工作得更好,但切换的复杂性取决于您如何使用它。在Recommendations for supporting both Oracle and SQL Server in the same ASP.NET app with NHibernate 上查看我的回答 【参考方案1】:

切换数据库从来都不是 100% 无缝的。 NH 更成熟,并且在 RDBMS 中运行得更好,但切换的复杂性取决于您如何使用它。

在Recommendations for supporting both Oracle and SQL Server in the same ASP.NET app with NHibernate上查看我的回答

【讨论】:

以上是关于EF 与 NHibernate 与 Oracle的主要内容,如果未能解决你的问题,请参考以下文章

EF 配置实现建表与迁移

csharp: NHibernate and Entity Framework (EF) (object-relational mapper)

相当于NHibernate中Hibernate的@embeddable/EF的ComplexTypeConfiguration?

用 LINQ to SQL 或 LINQ to EF 替换 NHibernate

NHibernate vs Entity Framework 5 自动连接实体

使用 WCF/OData 作为访问层而不是直接使用 EF/L2S/nHibernate 的论点