在 Dynamic Linq 中使用“Single”

2023-12-08

我正在尝试将在 Linq 中工作的 Linq 查询转换为能够在动态 linq 中工作(使用 System.Linq.Dynamic),因为我希望用户能够形成自己的查询,并且将添加此查询字符串在运行时到其他查询字符串上。

我有一个疑问:

db.incidents.Where(a => a.incidentLocations.Single().location.street.Contains(location);

我尝试将其转换为以下动态 linq 字符串:

query = 
string.Concat("incidentLocations.Single().location.street.Contains(\"", location, "\")");

db.incidents.Where(query);

其中位置是包含搜索文本的字符串。

我已设法将所有其他查询转换为动态 linq,但这一个我正在努力解决异常错误:

“不存在适用的聚合方法‘单一’”

我知道动态 linq 不支持所有扩展方法,有人可以告诉我如何解决这个问题。


获取 Linq.Dynamic 的源代码,复制粘贴Where 方法,更改方法中的签名和带有函数名称的字符串,然后就可以开始了。我这样做是为了添加 Single First 等,我无法将其复制到这里,因为我不在我的开发机器上,但如果有必要,我会稍后再做;)

编辑:如果您决定使用它,这是 Single 方法:

public static object Single(this IQueryable source)
    {
        if (source == null) throw new ArgumentNullException("source");
        return source.Provider.Execute(
            Expression.Call(
                typeof(Queryable), "Single",
                new Type[] { source.ElementType },
                source.Expression));
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Dynamic Linq 中使用“Single” 的相关文章

  • C# Linq 可以做组合数学吗?

    我有这个数据结构 class Product public string Name get set public int Count get set var list new List
  • linq查询的问题

    我正在尝试使用 linq to NHibernate 使用 Fluent NHibernate 但我在 linq 查询方面遇到问题 每次我尝试执行它时 我都会收到以下消息 方法 get IsReadOnlyInitialized 类型 NH
  • 按文件创建日期排序(并枚举)目录列表?

    所以我有这个例程 public static IEnumerable
  • 如何在 F# 中使用 LINQ 更新数据库中的表?

    我看过很多有关如何查询数据库的示例 但没有看到有关如何更新记录的示例 下面是我编写的用于检索表的简单代码 但有人可以解释一下如何修改字段 例如lastActiveDate 并更新数据库上的表 谢谢你 周日 open System open
  • 如何将一个列表中的2个项目分组到另一个列表中

    至于这个例子 获取 List 中不同值的列表 https stackoverflow com questions 10255121 get a list of distinct values in list 这演示了如何根据 1 项获取不同
  • 忽略连接实体的全局查询过滤器

    全局查询过滤器在实现租户和软删除功能时非常方便 但我的问题是 例如 当我编写带有联接的查询时 dbContext entity1 Include entity2 entity3 entity4 Where something select
  • 使用 LINQ 和 C# 的随机数组

    我在 MSDN 杂志上读到一篇关于使用LINQ 中的枚举类 http msdn microsoft com en us magazine cc700332 aspx生成随机数组 本文使用 VB NET 我不能立即确定 C 中的等效项是什么
  • NHibernate:QueryOver<> 帮助

    我刚刚开始使用 NHibernate 在运行更复杂的查询时遇到了麻烦 我有带有附加标签列表的实体 用户将提供两个标签列表 包括和排除 我需要找到具有所有包含标签的所有实体 并排除在排除列表中具有任何标签的任何实体 下面是我的第一个努力 这显
  • WPF TreeView 绑定[重复]

    这个问题在这里已经有答案了 我有一个带有父级和子级属性的课程 ADO NET 实体框架分层页面类 http img148 imageshack us img148 6802 edmxxe8 gif http img148 imageshac
  • 使用 LINQ 查询 JSON

    我有一个从 API 调用收到的 Json 响应 它有几个嵌套级别 如下所示 这是一个片段 Items Result Id 191e24b8 887d e111 96ec 000c29128cee Name Name StartDate 20
  • 将 CollectionBase 转换为 List 或可用于 Linq 的数据类型

    我正在使用 Aspose 单元格来操作 Excel 电子表格 API 中的类型之一是电子表格中的图片集合 它派生自 CollectionBase 请参阅此链接 http www aspose com documentation net co
  • NHibernate 二级缓存与 NHibernate Linq Provider 1.0

    如何使用 NHibernate Linq Provider 1 0 启用 NHibernate 二级缓存 二级缓存似乎仅适用于 ICriteria 使用 是的 我终于解决了这个问题 public IQuerable
  • 在List中找到对应的项目

    为了清楚地显示 我有以下列表项 我可以想象下面的小列表 可能有数百行 CourseId ClassName StartDate 12321 Math 08 25 2017 32342 Physics 08 25 2017 34345 Che
  • Linq for xml 解析返回 null 元素

    我的 xml 文件如下所示
  • 使用 LINQ 获取二维数组的最大列数

    无论如何 有没有使用 LINQ 来获取二维数组每列的最大值 假设我有以下内容 var arrays new double 5 100 我想获得最大的arrays 0 arrays 1 arrays 4 如何使用LINQ来做呢 我可以使用这样
  • 使用 LINQ 将 DataTable 列中的值读入 List

    我有一个DataTable服务返回给我的包含 5 列的对象 我只对其中一栏感兴趣 FuncName列 并希望我的实用程序方法调用该服务来删除额外的信息并仅返回一个List
  • 选择 List 中整周没有休息日的记录 - C#

    我有一个Employee类定义如下 Employee public int Id get set public string Name get set public DateTime WorkDate get set public bool
  • Linq To SQL - 拥有和分组依据

    我下面这个查询工作正常 不过我想使用 Linq 来实现它 select u ID u NAME from Task t join BuildingUser bu ON bu ID BUILDING t ID BUILDING join Us
  • Streamjs和linqjs有什么关系

    读完SICP后 我最近发现streamjs https github com dionyziz stream js 开发商参考linqjs http linqjs codeplex com 作为具有不同语法的替代实现 但我无法建立连接 St
  • 如何使用 Linq-to-SQL 而无需生成所有类?

    我以前从未在应用程序中使用过 Linq to Sql 但我使用 LinqPad 开发查询 只是想将其粘贴到我的代码中 事情没那么简单 我猜我需要一个DataContext处理连接 但我仍然收到错误 因为视图名称无法识别 Do I have使

随机推荐