.net - .NET ORM 数据访问方法的优点 Entity Framework vs. NHibernate vs. Subsonic vs. ADO.NET Datasets

标签 .net orm data-access-layer

我最近听说不同 .NET ORM 方法论的“狂热分子”表达了对其他 ORM 方法论的强烈(如果不是古怪的)意见。坦率地说,感觉有点在黑暗中。

您能否解释一下这些 .NET ORM 解决方案的主要优点?

  • Entity Framework
  • NHibernate
  • 亚音速
  • ADO.NET 数据集

  • 我对 1&4 有很好的理解,对 2&3 有一个粗略的理解,但显然不足以理解一个人对另一个人的隐含文化观念。

    最佳答案

    这种类型的问题不断出现。您可以通过查看此问题提供的链接来阅读有关不同 ORM 的更多信息:

    NHibernate, Entity Framework, active records or linq2sql

    这些 ORM 都在随着时间的推移不断发展,而且它们相当复杂,因此任何对关键优点进行快照的尝试都不太值得。

    NHibernate 是功能最丰富的。 EFv4 是下一个功能最丰富的(目前距离实际发布大约一个月)。 Subsonic 具有相当广泛的功能,但在其他方面(深度、社区、支持等)缺乏。 EFv3.5 不值得讨论,但至少有些人似乎对此很满意。

    ADO.NET 数据集不支持 Linq 也不支持对象关系映射,这通常是您选择 ORM 的关键原因。

    关于.net - .NET ORM 数据访问方法的优点 Entity Framework vs. NHibernate vs. Subsonic vs. ADO.NET Datasets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2422549/

    相关文章:

    c# - SelectNodes 不适用于 stackoverflow 提要

    c# - 尝试更改控制台前景色时,Mono 应用程序失败并出现 ArgumentNullException

    c# - Nullable<int> 是 "Predefined value type"- 或者 Equals() 和 == 在这里如何工作?

    mysql - Symfony4.1 Doctrine ManyToMany 减少查询次数

    javascript - AngularJS:创建映射到 REST 资源的对象(ORM 样式)

    .net - 在哪里捕获异常

    c# - 从数据对象转换为业务对象。最佳实践

    c# - 直接插入字节码

    c# - 在.Net 4.0中,数据访问应用程序 block 仍然是实现数据连接的方式吗?

    c# - 当列实际存在于数据库中时,ServiceStack OrmLite 返回无效的 ColumnName 错误