public static Func<T,Tkey> DynamicLambda<T, Tkey>(string propertyName)
{
ParameterExpression p = Expression.Parameter(typeof(T), "p");
Expression body = Expression.Property(p, typeof(T).GetProperty(propertyName));
var lambda = Expression.Lambda<Func<T, Tkey>>(body, p);
return lambda.Compile();
}
应用:
List<Employee> list = new List<Employee>();
list.Add(new Employee() { Name = "张三", Age = 21, Salary = 1800f, Job = "UI" });
list.Add(new Employee() { Name = "李四", Age = 25, Salary = 2000f, Job = "DBA" });
list.Add(new Employee() { Name = "王五", Age = 24, Salary = 2000f, Job = "UI" });
list.Add(new Employee() { Name = "李九", Age = 31, Salary = 2900f, Job = "DBA" });
list.Add(new Employee() { Name = "张一", Age = 21, Salary = 2100f, Job = "UI" });
list.Add(new Employee() { Name = "王三", Age = 32, Salary = 2100f, Job = "DBA" });
//按Age排序
list.OrderBy(DynamicLambda<Employee,int>("Age"));
//按Salary排序
// list.OrderBy(DynamicLambda<Employee,float>("Salary"));
list.ForEach(e => Console.WriteLine(e.Name + "\t" + e.Age + "\t" + e.Salary));
分享到:
相关推荐
Linq动态查询、行转列;可用于多功能的动态组合查询实现,后头返回组装的表头和数据集;实现行转列,动态linq组装
动态Linq查询生成器 dynamic-linq-query-builder是一个小型库,允许任何.Net框架类集合在运行时动态过滤。 功能(v1.2.0) 从任何集合和过滤器组合生成IQueryable 可以根据需要对多个字段进行复杂的分组查询 通过...
DynamicQueryable基于Linq的动态查询示例
LinqKit.dll linq to ef 动态查询条件组装 没有这个东西无法实现linq to ef 查询.
linq动态分组,按照传入字段进行动态分组
.net linq动态组合查询条件及排序,让linq像ado.net那样动态组合条件查询
动态LINQ由...提供支持 该库由 该软件包已弃用(不再维护) 改用 动态Linq: : 动态Linq(EF核心): : 动态Linq(EF 6): : GitHub: : 什么是Linq Dynamic系统? 使用此动态LINQ库,我们可以执行以下操作...
LINQ to SQL语句(23)之动态查询
LINQ to SQL语句(1)之Where LINQ to SQL语句(2)之Select/Distinct LINQ to SQL语句(3)之Count/Sum/Min/Max/Avg ...LINQ to SQL语句(23)之动态查询 LINQ to SQL语句(24)之视图 LINQ to SQL语句(25)之继承
linq 动态 调试 工具 可以再程序中动态查看生成的sql语句和执行的结果
浅谈Linq to sql 的多表关联与动态条件查询
5.1.3 动态查询 127 5.1.4 LINQ to Text Files 135 5.2 设计模式 137 5.2.1 函数式创建模式 138 5.2.2 ForEach模式 140 5.3 性能分析 142 5.3.1 选择恰当的流操作方式 142 5.3.2 当心立即执行 144 ...
总览使用此库,可以在IQueryable上编写动态LINQ查询(基于字符串): var query = db . Customers . Where ( " City == @0 and Orders.Count >= @1 " , " London " , 10 ) . OrderBy ( " CompanyName " ) . Select ...
T396240109.zip VB.net中,如何动态构建Linq的Where子句 https://bbs.csdn.net/topics/396240109
LINQ动态查询参考Demo ,解决LINQ在动态查询 上的不足问题,很好的demo !
要实现Ext Grid的远程排序其实很简单,只要修改查询语句的排序关键字就可以了,但是,如果你的项目是使用Linq进行开发的,会发现动态修改排序关键字并不是那么容易的事,解决办法就是使用LINQ Dynamic Query Library...
演示了一种跨WCF服务边界进行动态查询的方法。
3.3.3 动态谓词的筛选 3.4 select子句 3.4.1 输出查询结果 3.4.2 对查询结果进行投影 3.5 group子句 3.5.1 IGrouping泛型接口 3.5.2 分组查询 3.6 into子句 3.7 排序子句 3.7.1 OrderBy和...
LINQ to SQL语句(23)之动态查询 90 1.Select 91 2.Where 92 LINQ to SQL语句(24)之视图 94 LINQ to SQL语句(25)之继承 96 1.一般形式 97 2.OfType形式 98 3.IS形式 98 4.AS形式 99 5.Cast形式 99 6.UseAsDefault形式...
3.3.3 动态谓词的筛选 3.4 select子句 3.4.1 输出查询结果 3.4.2 对查询结果进行投影 3.5 group子句 3.5.1 IGrouping泛型接口 3.5.2 分组查询 3.6 into子句 3.7 排序子句 3.7.1 OrderBy和...