【问题标题】:Code First Entity Framework Or NHibernate代码优先实体框架或 NHibernate
【发布时间】:2011-07-25 07:22:58
【问题描述】:

我对 Code First EF 4.1 和 NHibernate 还是很陌生。 我需要开发一个必须具有以下功能的 ORM。

  1. 使用复合键执行 CRUD
  2. 在某些情况下使用自定义 SQL 语句。
  3. 可以在运行时更改连接。
  4. 可以在执行之前或之后记录 SQL 语句。
  5. 需要同时支持 MS SQL 和 Oracle。

我有点困惑该选择哪一个。 请多多指教。

【问题讨论】:

    标签: entity-framework nhibernate orm


    【解决方案1】:

    好吧,这里是功能的一般比较:

    .net ORM Comparison

    根据您的需要,EF 和 NH 都支持 1、2、3 和 5。

    记录是另一回事。 EF绝对没有开箱即用的东西。 NH 记录所有内容,您可以选择不同的级别、记录器等。

    【讨论】:

    • 只是一个注意,两者都是......相同的(可以这样阅读,而您确实 NOT 明确说明了它;)。让我在 EF 中疯狂的是,我无法将 smallint (DB) 映射到 int (C#)。假设数据库管理员优化了一些主键(在具有数百万条记录的 fact 表中引用 - 合理)......我必须更改应用层实现。关注点分离在哪里?这不是 NHibernate 的问题。但是我到处都能找到这些细微的差别……
    【解决方案2】:

    我使用 NHibernate,我认为您可以用它来满足您的所有要求。

    尝试在这里查看更多信息:

    Deciding between NHibernate vs Entity Framework?

    【讨论】:

      【解决方案3】:

      我会选择 Nhibernate。它支持所有这些功能,并且目前比 EF 经受了更多的实战考验。

      【讨论】:

        【解决方案4】:

        可能有点晚了,但我刚刚发布了 NHibernate 3.x 与 Entity Framework 5 和 6 的最新比较。http://www.dennisdoomen.net/2013/03/entity-framework-56-vs-nhibernate-3.html

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-09-01
          • 2014-05-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-12-29
          相关资源
          最近更新 更多