哪些 ORM 工具支持这个版本的 Queryable.Select 扩展方法

Posted

技术标签:

【中文标题】哪些 ORM 工具支持这个版本的 Queryable.Select 扩展方法【英文标题】:Which ORM tools support this version of Queryable.Select extension method 【发布时间】:2009-12-09 13:21:13 【问题描述】:

你知道支持这种扩展方法的 ORM:

public static IQueryable<TResult> Select<TSource, TResult>(
  this IQueryable<TSource> source, 
  Expression<Func<TSource, int, TResult>> selector)

基本上,它允许将行号(按顺序排列的结果索引)添加到投影中。与IEnumerable 一起使用的示例是here。但是IQueryable也有同样的方法。

所以我很好奇,有没有支持这种方法的ORM工具?

问题其实和this one有关。

【问题讨论】:

【参考方案1】:

您当然可以将它与 LINQ to Entities 一起使用。由于它只是对标准 Select 的改进,我认为任何支持 SelectIQueryable 提供程序也可以使用它。

但请记住:它不是行号,它是Int32 的事实证明了这一点。这是一个index,这不是一回事。

【讨论】:

其实我不像你那么确定:到目前为止我没有找到任何链接来批准这个。但是将测试添加到 ORMBattle 似乎是个好主意。如果这被批准,您的回答将被接受:) 所以您刚刚发布到另一个我的问题的文档(关于 EF 支持的 IQueryable 方法列表)明确指出 EF 不支持此方法:msdn.microsoft.com/en-us/library/bb738550(VS.100).aspx(参见第二项)。跨度> 我以前肯定用过,但是想不出好办法去搜。我当然有可能先通过AsEnumerable。无论如何,它肯定不应该是一个行号,不管你怎么做。 Err... 你的意思是避免使用行号是可取的吗?如果是这样,那是真的,我知道这一点。 是的,我就是这个意思。我只是因为你的问题实际上说了什么才提出来的。【参考方案2】:

没有例子,所以很可能没有这样的 ORM。

【讨论】:

我们终于在 DataObjects.Net 中实现了这些东西。

以上是关于哪些 ORM 工具支持这个版本的 Queryable.Select 扩展方法的主要内容,如果未能解决你的问题,请参考以下文章

哪些 ORM 在中等信任下工作?

轻量ORM-SqlRepoEx (十七)SqlRepoEx 2.30 版本更新说明

哪些 ORM 框架将为您构建和执行 SQL DDL?

Dapper EF 等orm Mysql不支持事务解决办法

ThinkPHP 3.2 版本升级了哪些内容

哪些工具支持编辑 project.pbxproj 文件?