当前位置:  开发笔记 > 数据库 > 正文

最完整的ORM支持LINQ?

如何解决《最完整的ORM支持LINQ?》经验,为你挑选了1个好方法。

我正在寻找一个提供完整或接近完整的LINQ支持的ORM.

LINQ to SQL
- 支持LINQ内部的所有内容(.Contains,Math.Log等)
- 如果不创建新的datacontext,就无法加载关系属性

ADO.NET实体框架
- 可怕的LINQ支持(许多缺少的功能).
- 出色的映射功能 - 可以使用ObjectQuery <>上的.Include方法按需加载

LightSpeed
- 很棒的LINQ支持缺少一些功能(.Contains在where中)
- 生成的一些SQL非常低效.

这些似乎都不完美,我真的希望我可以从每个中获取点点滴滴.我个人非常喜欢ADO.NET EF,除了它缺少的功能使它使用起来很令人沮丧.

我知道有些人上下赞美NHibernate而且我没有敲它,但我今天花了很多时间尝试它并且没关系但是它的LINQ支持并不是那么好.



1> Alexis Koche..:

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

支持几乎所有LINQ方法,除了Last/LastOrDefault/Aggregate/Reverse/TakeWhile/SkipWhile等以及具有.NET特定参数的方法 - 例如IComparer(nobody支持它们).

几乎所有字符串和数学方法都受支持(并且您可以编写自己的函数映射!).

GroupBy\SelectMany \包含\ Single\etc的复杂场景.在子查询和相关子查询中受支持.

我们有大约1000个LINQ实现测试,其中99%都通过了.所以我可以说当前的实现接近于EF.有些方法不适用于EF,有些方法适用于我们的框架.请查看此简要说明http://www.x-tensive.com/Products/DO/.

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有