633
|
John Sheehan · 技术社区 · 16 年前 |
![]() |
1
864
只是偶然发现了这个老东西… 要在没有动态Linq库的情况下完成这项工作,您只需要下面的代码。这涵盖了最常见的场景,包括嵌套属性。
让它与
编辑:如果你想把它和
|
![]() |
2
216
太容易了,没有任何并发症:
|
![]() |
3
77
我找到了答案。我可以使用
|
![]() |
4
50
刚刚偶然发现这个问题。 使用上面Marc的applyOrder实现,我将处理类似SQL的字符串的扩展方法组合在一起,比如:
详情见: http://aonnull.blogspot.com/2010/08/dynamic-sql-like-linq-orderby-extension.html |
![]() |
5
39
我想使用反射来获得你想要排序的任何属性都是可行的:
请注意,使用反射比直接访问属性慢得多,因此必须研究性能。 |
![]() |
6
18
只是建立在别人所说的基础上。我发现下面的方法很有效。
|
![]() |
7
11
我在寻找linq multiple orderby子句时遇到了这个问题。 也许这就是作者想要的 以下是如何做到这一点:
|
![]() |
8
9
我本来想这么做,但有问题
Kjetil Watnedal's solution
因为我不使用内联LINQ语法-我更喜欢方法样式语法。我的具体问题是尝试使用自定义的
我的解决方案是这样的: 给出这样一个IQueryable查询:
并给出一个运行时排序字段参数:
动态orderby如下所示:
它使用了一个名为getReflectedPropertyValue()的小助手方法:
最后一件事-我提到我想要
为此,我只需更改
见
this post
为代码
|
![]() |
9
4
您可以添加它:
这个
问题是为什么?任何这样的类型都会在运行时抛出异常,而不是在编译时抛出异常(如d2viant的答案)。 如果您处理的是linq to sql,而orderby是一个表达式树,那么它将转换为sql以供执行。 |
![]() |
10
4
这里还有一些我觉得有趣的东西。 如果源是数据表,则可以使用动态排序而不使用动态LINQ
参考文献: http://msdn.microsoft.com/en-us/library/bb669083.aspx (使用数据集扩展) 通过将其转换为数据视图,还有一种方法可以做到这一点:
|
![]() |
11
4
多亏了马丁( Query a collection using PropertyInfo object in LINQ )我得到了这个解决方案:
在我的例子中,我正在处理一个“ColumnHeaderMouseClick”(WindowsForm),所以刚找到按下的特定列及其对应的属性信息:
或
(请确保列名与对象属性匹配) 干杯 |
![]() |
12
4
经过大量的搜索,这对我很有用:
|
![]() |
13
4
可以将IEnumerable转换为IQueryable。
|
![]() |
14
2
另一种解决方案使用以下类/接口。它不是真正的动态的,但它是有效的。
|
![]() |
15
1
此答案是对需要提供解决方案示例的注释的响应 @John Sheehan - Runscope
在DAL(数据访问层)中, IEnumerable版本:
可查询版本
现在您可以使用iQuery版本进行绑定,例如ASP.NET中的GridView和排序优势(不能使用IEnumerable版本进行排序) 我使用dapper作为ORM,构建了iqueryable版本,并在ASP.NET中轻松地使用了GridView中的排序。 |
![]() |
16
1
第一次安装动态 工具-->Nuget Package Manager-->Package Manager控制台
添加
命名空间
现在你可以使用
|
![]() |
17
0
将list转换为ienumerable或iquerable,使用system.linq.dynamic命名空间添加,然后可以将属性名用逗号分隔的字符串提到orderby方法,该方法默认来自system.linq.dynamic。 |
![]() |
18
0
使用动态
只要添加
然后像这样对所有列进行排序:
|
![]() |
19
-3
|
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 6 月前 |
![]() |
Pavel Foltyn · 如何在C中生成逆字典# 7 月前 |
![]() |
ewok · 基于种子和上一个值创建值列表 11 月前 |
|
Vasu V · 将foreach转换为select语句 1 年前 |
![]() |
Modest · 使用命名空间和文本值序列化xElement 1 年前 |