【问题标题】:Is it still benefitial to think about NHibernate for .Net while there is LINQ to SQL possibility?当有 LINQ to SQL 的可能性时,考虑 NHibernate for .Net 是否仍然有益?
【发布时间】:2010-07-27 20:36:52
【问题描述】:

我对 LINQ to SQL 和 NHibernate 都不是很熟悉。

据我了解,LINQ to SQL 在很多方面都是 NHIbernate for .Net 的一种替代品。

这是否意味着 LINQ to SQL 是 NHibernate 的内置替代品,让 .Net 开发人员跳过 NHibernate 并开始使用 LINQ to SQL?

谢谢

【问题讨论】:

  • Nhibernate 要强大得多。另外微软一直在推动 EF 4.x

标签: .net linq nhibernate linq-to-sql


【解决方案1】:

NHibernate 比 Linq2Sql 或 EF 更加成熟和强大。在任何情况下,了解 NH 和 EF 都会很有用。

【讨论】:

    【解决方案2】:

    这是非常有争议的,但我还没有看到可以与 NHibernate 竞争的 ORM 工具。诚然,LINQ to SQL 有其优点——主要是实际的 LINQ——而且它在某些用途上完全没问题,只是不够灵活和强大。

    【讨论】:

      【解决方案3】:

      不要使用“替代”一词,而是使用“替代”一词。

      所以是的,它是 NHibernate 的替代品,但是,与大多数事情一样,在决定您希望采用哪条路线时,值得查看两者的所有功能。

      【讨论】:

      • Robin,你知道在这方面比较 Nhibernate 和 LINQ 特性的对比图吗?
      【解决方案4】:

      ummmmmmmmmmmmm,它们完全不同。

      Linq to sql 只是一个从 linq 到 sql 的翻译器,它没有任何上下文、缓存和所有休眠的东西。

      nhibernate 比实体框架更好。

      但是 linq to sql 非常轻量,stackoverflow 使用它:)。

      【讨论】:

        【解决方案5】:

        NHibernate 绝对是一个不错的选择。目前,它仍然是.NET领域最强大的ORM。

        就个人而言,我更喜欢实体框架。它还没有 NHibernate 强大,但它是 Microsoft 量身定制的 ORM,它提供了与其他 MS 工具的最佳集成。 (例如,下一版本的 Reporting Services 将支持 EF 模型。)

        【讨论】:

          【解决方案6】:

          他们没有比较。 LINQ to SQL is not an ORM。然而,我相信 NHibernate 是最好的 ORM,远远超过微软的实体框架。

          1. 它与几乎所有的database engine 无缝集成(MS SQL、Oracle、MySQL、SQLite、Firebird、PostgreSQL 等),目前 EF 并没有以我信任的方式成熟地做到这一点在我的大型应用程序中
          2. 通过学习它,您不仅实现了一个强大而成熟的解决方案(记住它的 Java 久经考验的代码库),而且您还获得了可以轻松应用 Java 原始 Hibernate 的知识。
          3. 我可能在这里说出来了,但我不认为 EF(同样,我什至没有将其与 LINQ 进行比较)目前的可定制性只有 NHibernate 的一半。李>

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多