问题标签 [system.linq.dynamic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - System.Linq.Dynamic 和 DateTime
我正在使用 System.Linq.Dynamic 从 .Net MVC 1.0 中的 ajax 调用中自定义 where 子句。
它适用于字符串、int 等,但不适用于 DateTime,我得到异常无法将 String 与 DateTime 进行比较。非常简单的测试代码是
items = items.Where(string.Format(@" {0} > {1}{2}{1} ", searchField, delimiter, searchString));
例如,其中 searchField 将是 start_date 并且数据类型是 DateTime,分隔符是 "(也没有尝试过),并且 searchString 将是 01-Jan-2009(也尝试过 01/01/2009)并且 items 是来自的 IQueryable LinqToSql。
有没有办法在动态 where 中指定数据类型,或者有更好的方法。它目前已经在使用一些反射来确定需要什么类型的分隔符。
c# - 如何在 System.Linq.Dynamic 中编写生成 LIKE T-SQL 语句的语句
我正在使用System.Linq.Dynamic并且在大多数情况下效果都很好。但是我试图得到一个会在 T-SQL 中 StartsWith
生成类似的东西。Description LIKE 'test%'
我似乎没有找到,并且文档很少,正如我注意到的那样,在我的代码中编写哪个语句以传递给动态库的 Where 方法以生成该LIKE
语句。
我已经尝试过但对我没有效果的事情:
但是没有任何东西会产生我所追求的 LIKE 语句。
c# - System.Linq.Dynamic:如何保证 Parse 函数中的参数顺序?
在下面的代码中,我成功地在 C# 中使用 Microsoft 的System.Linq.Dynamic来评估类似于 Javascript 的字符串表达式eval()
。但是,我无法弄清楚在调用新函数时如何保证参数名称和相应的值匹配。 "SKU + \" \" + Name"
可以1234 Cola
像Cola 1234
. 我有几十个参数。
System.Dynamic.Linq 的Parse
方法用于Dictionary<string,object>
在内部保存参数,这是我的问题,因为 Dictionary 不保证像数组和列表这样的顺序。 我假设因为 Microsoft 选择使用 Dictionary,所以必须对下面的代码进行一些简单的修复,以确保参数值匹配。 在 LinqPad 中输入了代码。
命名参数是否可能像Name: "Cola", SKU: "1234"
?是否有一些数据类型或技术可以用来保证参数名称和值匹配?这是否需要更改 Microsoft 的代码来替换 Dictionary?
以下是上述和 System.Linq.Dynamic 的用法:
c# - where 子句中的动态 linq 反斜杠
我使用 System.Linq.Dynamic 来查询具有动态“where”表达式的实体。我正在查询具有字符串类型属性“newValue”的对象。示例值为:“{\"ProcessId\":764, \"ProcessLength\":1000}"。我不能使用 == 因为我想找到属性包含“ProcessId:764”的所有命中,而不管字符串的其余部分。问题是,存储的字符串包含转义符号“\”和双引号,我无法弄清楚它到底应该是什么样的......
dbContext.Processes.Where("@newValue.Contains(\"ProcessId\":764\")")
带来错误,但dbContext.Processes.Where("@newValue.Contains(\":764\")")
可以正常工作。我想它一定是我的查询中带有反斜杠或双引号的东西,但我自己无法弄清楚..
c# - 动态 Linq 中的按位排序
我需要能够在动态 linq 中执行基于字符串的按位 .OrderBy 。
对比
这甚至可能吗?我在下载 (CSharpSamples.zip\LinqSamples\DynamicQuery) 中没有看到任何按位运算符的示例。我什么都做不了,也找不到任何例子。帮助!
c# - Provider.CreateQuery 上的 Linq 异常
给定这个类:
以下列表:
我尝试动态查询列表的这段代码(请注意,字符串query
可以包含任何内容,例如Take
, Select
,OrderBy
等)。
我想知道我做错了什么,Provider.CreateQuery
导致“参数表达式无效”异常?
c# - 如何使用 LINQ 从动态列表中选择特定字段
我试图从动态对象中获取一些特定字段,它实际上是任何类的列表,这个类包含这些字段中的各种字段我想使用 LINQ 选择一些特定字段,我想选择的字段也在传递由用户。下面是我尝试使用 System.Linq.Dynamic 的代码。
entity-framework - 无法加载文件或程序集 System.Linq.Dynamic.Core 版本 = 1.0.15.0
在当前 Asp.net core 1.1 项目中从 nuget 添加 System.Linq.Dynamic.Core Version=1.0.15.0。在库中添加了所需的方法,但在调用方法时抛出错误为“无法加载文件或程序集'System.Linq.Dynamic.Core,版本 = 1.0.15.0,文化 = 中性,PublicKeyToken = 0f07ec44de6ac832'。系统找不到指定文件"
尝试恢复包但没有用
c# - 实体框架从 ENTIRE 列获取数据
我有一个 api 调用 getUser ,它从数据库中的指定列返回所有信息,但我想排除一些东西;电话号码、电子邮件等
尝试摆弄 LINQ,更改 modelBuilder,更改 optionBuilder
已查找任何 SQL 语句“Select * from”但一无所获
删除我的 UserModel 中的东西确实有效,但这是一种丑陋的做法。
预期指定要包含(或不包含)哪些数据,但除非我在 DB 将值设置为“null”,否则我会得到所有数据。
c# - Linq.Dynamic FirstOrDefault() 嵌套在 OrderBy
我有以下 Linq 语句,它工作得很好:
现在我试图通过使用来自 Linq.Dynamic 的基于字符串的语法使其动态化:
但它抛出异常:
“不存在适用的聚合方法‘FirstOrDefault’”
它必须是动态的,以便它接受其他名称而不是“MATERIAL_TXT”。
我错过了什么?