【问题标题】:Using Custom Comparer With Linq IQueryable使用带有 Linq IQueryable 的自定义比较器
【发布时间】:2014-04-25 17:50:36
【问题描述】:

我正在尝试对使用 Linq 生成的查询使用自定义比较器。我看过很多文章说你不能这样做,但是当我查看 Distinct 扩展方法的签名时,我看到了这个:(这个 IQueryable 源,IEqualityComparer 比较器)..

如果不能通过Linq转换成sql,为什么会有一个构造函数接受自定义比较器?

提前致谢。

【问题讨论】:

    标签: c# asp.net sql linq


    【解决方案1】:

    原因是 linq 不仅仅是 linq to sql、linq to entity 或其他任何东西。

    当使用 queryable 时,你总是有一个提供者。提供者不需要支持 linq 可以做的所有事情。这就是一个例子。

    之所以存在,是因为不同的提供者可能会选择支持不同的功能集,例如自定义比较器。

    总的来说,我相信可以通过 LINQ 对 IEnumerable 进行的所有操作都可以对 IQueryable 进行。

    我同意,这可能会成为更难翻译的内容之一,无论您的提供商链接到什么,但 EnumerableQueryable 之间的对称性以及某人可能我怀疑它们存在的原因吗?

    【讨论】:

      猜你喜欢
      • 2013-09-15
      • 2010-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多