.net - ORM For .Net ON Oracle

标签 .net winforms oracle nhibernate entity-framework

我很快就要开始一个新项目,在 Oracle 数据库上使用 .Net 3.5 和 Winform。我们计划使用 ORM。 NHibernate 是我们的架构师建议的。由于我个人对Entity Framework比较熟悉,所以我认为它会比NHibernate更容易使用。但由于Oracle没有任何官方规定,我们拒绝使用它。

所以我的问题:我查看了可用的不同提供商并发现了一些:

  • 开发艺术
  • 数据目录
  • EFOracleProvider

所以我想从使用它们的人那里得到一些关于它们的反馈 - 优点和缺点,缺少的功能,诸如此类的东西,并知道我们是否使用 NHibernate 会更好?

感谢您的帮助。

最佳答案

你的建筑师是对的 - NHibernate简直是一个非常棒的 ORM。

NHibernate 没有提供 EF 提供的出色的视觉设计器,并且使所有 XML 与架构/迁移和类定义保持同步是一件苦差事。幸运的是,有一个名为 FluentNHibernate 的自动映射器。这甚至可以使 NHibernate 的这一方面变得无缝(如果您愿意,您可以在每个表或每个列的基础上自定义映射,还可以覆盖自动映射器约定)。

微软推出的数据访问组件往往是较低级别的,并且往往依赖于可视化设计器。那不是我想要的工作方式。就我个人而言,我想要一个在幕后工作的高级库,并且不需要花哨的机器来设置和维护。

不要误会我的意思 - Microsoft 推出的一些产品非常棒,例如整个 .NET 平台。我只是认为 Microsoft 的数据访问策略并没有像 NHibernate 那样针对我和我的需求。

关于.net - ORM For .Net ON Oracle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2576667/

相关文章:

Java数据源,如何处置

c# - 为什么这段代码的执行速度比预期的要快?

c# - 如何使用C#填写Word文档?

c# - Stackoverflow 异常关闭表单

c# - NotifyIcon 和高 DPI 显示

oracle - 使用索引搜索相似词

sql - Oracle SQL : Detecting breaks in continual spans

c# - 将 .net 应用程序迁移到 Windows 7(64 位)时需要注意什么

c# - 是否可以在 C# 中从 native C++ 类创建变量?

c# - 类似于控制台的控件,允许完全控制单个文本格式