问题标签 [dynamic-linq]

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.

0 投票
3 回答
17494 浏览

c# - 动态 LINQ GroupBy 多列

我需要将以下 LINQ 查询转换为根据用户输入接受多个分组列的动态 LINQ。基本上我有一堆应用分组的下拉列表,我不想枚举分组的每个组合。如果动态 LINQ 失败,我可能不得不手动构建 SQL 查询,而没有人愿意这样做。

我不知道如何做到这一点,因为动态 LINQ 在“你好世界!”之外完全没有记录。select/where/orderby 案例。我只是无法弄清楚语法。

就像是:(?)

我在 System.Linq.Dynamic 中使用 DynamicQueryable 类。请参阅:http ://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx

跟进:Enigmativity 的解决方案主要工作。出于某种原因,它不想按日期时间“StartOfWeek”列进行分组——解决方法只是进行二次分组:

但这似乎会严重降低性能... =/

0 投票
2 回答
4850 浏览

c# - 使用 LINQ to MySQL (DbLinq) 和动态 LINQ 的可排序 JqGrid - Orderby 不起作用

我在 JqGrid 中对条目进行排序时遇到问题。Orderby 似乎不起作用。我在代码中设置了断点,我注意到 orderby 不会改变元素的顺序。知道有什么问题吗?

我将 LINQ to SQL 与 MySQL 一起使用(DbLinq 项目)。

我的操作代码:

0 投票
1 回答
130 浏览

.net - dynamic linq query

I have query to perform where the user will enter at runtime one of the columns to be included in the result set. And, I won't know until runtime how many columns he could choose from (he uploads a file that can contain a varying number of columns). I'd like to write the query where the index of the column is dynamic. What's the best way to do this kind of query?

Thanks.

0 投票
2 回答
2349 浏览

c# - 使用动态 LINQ 对复杂对象进行排序

我有一个使用动态 LINQ 执行排序的对象列表。

对象是这样的,

我使用 Dynamic Linq 库对此进行排序,

如果我通过列表的有效属性名称(例如 Vendor )传递排序键,这很好用

问题是,如何对复杂对象执行此操作。

假设我有另一个对象,它是 SampleDTO 的属性

如果我想让排序足够动态,以便我应该能够从 SampleDTO 的直接属性或 OtherDTO 的属性进行排序(例如,需要在 OtherDTO.LineId 上排序)

实现这一目标的可能方法是什么?

/BB

0 投票
2 回答
2491 浏览

c# - 通用对象上的动态 LINQ(没有任何硬编码属性)

我有一个通用对象,它使用字典来存储属性:

现在我们需要查询 ObjList 以找到某些条目。动态 LINQ(动态 LINQ(第 1 部分:使用 LINQ 动态查询库))似乎很完美,但据我所知,它要求对象具有预定义的属性。

我们想做如下查询:

任何标记(例如姓名、年龄)都应调用“GetValue”。有什么建议么?

显然 where 语句完全取决于用户并且不是固定的。

0 投票
4 回答
837 浏览

c# - Dynamic Linq:如何指定 StringComparison 类型?

我正在根据从客户端浏览器发送的排序字段集合对数据集进行一些自定义过滤和排序,并且正在使用 Dynamic Linq 来实现(大部分)预期效果。我遇到问题的地方是当我尝试按字符串类型的列进行排序时,该列包含传统字符串和存储为字符串的数字。我似乎无法传入 StringComparison 枚举值,或为 Dynamic Linq orderby 函数指定 IComparer 参数。

我的排序代码如下所示:

我最终得到:

代替:

任何人都有做类似事情的经验吗?

0 投票
2 回答
2461 浏览

c# - Linq to SQL - 运行时的多个 where 子句

我正在尝试完成此操作,但只有在查询运行时才使用我的第一个 where 子句。

这需要用于 .Net 3.5,因此 4.0 中的 WhereIf 不可用。

0 投票
1 回答
1283 浏览

linq-to-entities - 动态 LINQ .Contains() 引发超时已过期。错误

大家好,
我正在处理这个查询,以便从 vb.net 3.5 网站上的 sql 2008 数据库中导出一些数据。我在初始查询之后使用动态 linq 来根据日期、州、国家、专业和附属医院过滤结果。

这些过滤器中的每一个在查询中都有一个奇异值。具有逗号分隔列表的附属医院除外。例如:OSUMC、西医院、东医院

过滤时,我需要做一个 .Contains 以查看逗号分隔的列表是否包含特定的医院。例如:(OSUMC、HospitalWest、Hospital East).contains(“OSUMC”)

如果我对日期、州、国家和专业进行过滤,则查询运行良好。但是,如果我为附属医院添加一个过滤器,它是一个 .Contains() 过滤器,那么我会收到超时错误。

说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息: System.Data.SqlClient.SqlException:超时已过期。在操作完成之前超时时间已过或服务器没有响应。

0 投票
1 回答
1012 浏览

c# - 过滤 DataGrid、MVVM、动态 LINQ

如何过滤我的 DataGrid 项目,如 MS Access 过滤器工作(只需通过鼠标选择单元格的某些部分并按“过滤器”按钮)?

我有带有 2 个命令(Filter 和 ClearFilter)的 ViewModel MyViewModel 和 ObservableCollection 我有带有 GetItems(...) 方法的模型;

在 DataGrid CellEditEnding 事件中,我保存选定的路径和列名:

所以我有 2 个参数:我的 T 对象的属性名称,需要对其进行排序,以及过滤值(两者都是 typeof String)。

我应该如何更改模型的方法 GetItems,它会起作用。方法 Model.GetItemws 使用 EntityFramework 从数据库中查询项目。如何将我的过滤器应用于此查询以及如何构建此查询?一些动态的 LINQ/Expression

我应该在哪里以及如何创建这个 myFilter?

0 投票
1 回答
3406 浏览

c# - 使用未知类型执行 DynamicExpression

如果有人非常熟悉 Linq.Dynamic 命名空间,我可以使用一些帮助——在 Internet 上找不到任何深入的资源。

基本上我正在使用 DynamicExpression.ParseLambda 创建一个在编译时类型未知的表达式,

QueryFilter 在哪里:

它代表一个简单的二进制函数,如“Age > 15”或其他东西。

这就是“GetExpression”函数的工作方式,它采用两种类型——一种是输入类型,一种是输出类型,最终生成通常使用 Func 委托创建的内容。它还接受一个表示查询的字符串和一个值的参数 object[],它们分别是上面的 'expressionString' 和 'values'。

但是,我无法使用从 SqlMetal(.dbmc 文件)生成的 DataContext 在 LINQ-to-SQL 中执行动态表达式。

产生以下错误,

不包含“Where”的定义和最佳扩展方法重载

有一些无效的论点。

我知道我的 DataContext 实例实际上将 sql 表视为属性......我是否需要以某种方式反映 GetProperty() 才能使其工作?或者也许我需要创建另一个 .Where 扩展?