代码之家  ›  专栏  ›  技术社区  ›  Chad Moran

最完整的支持LINQ的ORM?

  •  13
  • Chad Moran  · 技术社区  · 17 年前





    -出色的地图功能 -可以随时按需装载。在ObjectQuery上包含方法<>

    光速
    -强大的LINQ支持缺少一些功能(Where中包含)

    这些似乎都不完美,我真的希望我能从每个人身上拿走零碎的东西。我个人真的很喜欢ADO。NET EF除了缺少的功能外,使用起来很令人沮丧。

    10 回复  |  直到 10 年前
        1
  •  5
  •   Alexis Kochetov    17 年前

    我是DO开发人员之一。我在该项目中的最新活动是实现LINQ for DataObjects。所以我可以简单地描述一下:

    • 支持几乎所有的LINQ方法,除了Last/LastOrDefault/Generate/Reverse/TakeWhile/SkipWhile等方法以及已经支持的方法。NET特定的参数,例如IComparer(没有人支持它们)。
    • 几乎支持所有字符串和Math方法(并且您可以编写自己的函数映射!)。
    • 支持在子查询和相关子查询中使用GroupBy\SelectMany\Contains\Single等复杂场景。

    我们对LINQ实现进行了大约1000次测试,其中99%通过了。所以我可以说,目前的实施接近EF。有些方法不适用于EF,有些方法适用于我们的框架。 查看此简短描述 http://www.x-tensive.com/Products/DO/ .

        3
  •  3
  •   boj    17 年前
        4
  •  2
  •   Alexander Nikolaev    17 年前

    DataObjects.Net 几乎完全支持LINQ。

        5
  •  2
  •   kevinw    17 年前

    SubSonic的最新版本3.0围绕Linq的使用进行了全面重写- http://subsonicproject.com/docs/3.0_Summary

        6
  •  0
  •   Sruly    17 年前

        7
  •  0
  •   Olmo    17 年前

    我和EF也有同样的问题。我想用它来映射,但由于缺乏良好的linq支持而放弃了。

    我不知道你所说的渴望加载关系属性是什么意思,但你可以用普通的linq-2-sql进行渴望加载。

    LoadOptions.LoadWith<T>(expression).

        9
  •  0
  •   Seki    14 年前

    Genome .

    Genome O/RM使用LINQ生成数据访问层,将关系数据库系统(如Microsoft SQL Server、Oracle和IBM DB2)连接到您的数据库。NET企业应用程序。

        10
  •  0
  •   visar_uruqi    13 年前

    EntityFramework 5.0非常棒,尽管它在与nhibernate的对比中缺少一些功能,但就LINQ支持而言,它非常完整,比nhibernates好得多。 Nhibernate有SessionFactory和Session的概念,而entityframework有Contoso的概念。它类似于Nhibernate的Session,但更容易设置和管理,你可以连接到许多数据库,你所需要的就是让每个数据库定义一个GetPro并实例化SpecificvD,以便开始并编写针对特定数据库的LINQ查询。