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发挥作用的地方。`System.Linq.Dynamic`库提供了`DynamicQuery`类,允许我们用字符串形式来构建查询表达式,这使得在运行时动态生成和执行查询成为...
这个示例项目"DynamicQueryable基于Linq的动态查询示例"很可能是为了展示如何在C#代码中灵活地创建和执行动态Linq查询。 动态查询通常用于那些在编译时无法确定查询结构的场景,例如,根据用户输入或配置来构建查询...
动态Linq查询生成器 dynamic-linq-query-builder是一个小型库,允许任何.Net框架类集合在运行时动态过滤。 功能(v1.2.0) 从任何集合和过滤器组合生成IQueryable 可以根据需要对多个字段进行复杂的分组查询 通过...
标题 "Linq OrderBy" 和描述 "Dynamic Linq SortBy" 涉及到的是 .NET Framework 中 LINQ(Language Integrated Query,语言集成查询)的一部分,特别是如何动态地对数据进行排序。在 .NET 中,LINQ 提供了一种强大且...
LinqKit.dll linq to ef 动态查询条件组装 没有这个东西无法实现linq to ef 查询.
《深入理解System.Linq.Dynamic.dll:C#中的动态LINQ查询》 System.Linq.Dynamic.dll是.NET框架的一个重要组件,它为C#程序员提供了使用字符串来构建和执行LINQ(Language Integrated Query,语言集成查询)的能力...
标题中的“使用WCF / WPF演示代码的动态LINQ到实体查询”表明这是一个关于如何在Windows Communication Foundation (WCF)服务和Windows Presentation Foundation (WPF)客户端之间使用动态Language Integrated Query ...
- **动态LINQ**:动态LINQ允许在运行时构建LINQ查询,这对于需要动态生成查询的应用程序非常有用。 - **LINQ与异步编程**:介绍了如何结合使用LINQ和异步编程模式来处理大量数据。 #### 知识点七:实际应用中的LINQ...
在实际开发中,有时我们需要根据不同的业务需求动态地组合查询条件和排序规则,这在传统的ADO.NET中可能较为复杂,而在LINQ中则变得相对简单。本文将深入探讨如何在.NET中利用LINQ实现动态组合查询条件及排序。 ...
linq动态分组,按照传入字段进行动态分组
**Dynamic LINQ to NHibernate** 是一个结合了 LINQ(Language Integrated Query)与 NHibernate 的动态查询技术。该技术允许开发人员通过字符串来构建复杂的查询逻辑,从而提高了代码的灵活性和可维护性。 #### ...
动态Linq查询生成器是一个基于jQuery的开源工具,名为jQuery-QueryBuilder,用于构建复杂的过滤条件,然后转换为可执行的Linq查询。这个项目的主要目标是帮助开发者在前端创建一个用户友好的界面,使得非技术用户也...
在本篇主题“LINQ to SQL语句(23)之动态查询”中,我们将深入探讨如何在运行时构建和执行查询,这对于处理不确定的数据访问需求或构建高度可配置的应用程序特别有用。 动态查询是LINQ的一个关键特性,它允许我们...
浅谈Linq to sql 的多表关联与动态条件查询 Linq to sql 是一种强大的数据查询语言,它可以帮助开发者快速、高效地访问和操作数据库数据。在本文中,我们将讨论 Linq to sql 的多表关联和动态条件查询这两个重要的...
"linq 动态 调试 工具"是一个实用的开发辅助软件,它的主要功能是在程序运行过程中,帮助开发者动态地查看生成的SQL语句以及这些语句的执行结果。这使得开发者能够更直观地理解LINQ查询是如何转换为数据库操作的,...
动态LINQ由...提供支持 该库由 该软件包已弃用(不再维护) 改用 动态Linq: : 动态Linq(EF核心): : 动态Linq(EF 6): : GitHub: : 什么是Linq Dynamic系统? 使用此动态LINQ库,我们可以执行以下操作...
为了解决这个问题,开发者可以借助`System.Linq.dll`这个动态链接库,将LINQ的功能引入到.NET 2.0的环境中。 `System.Linq.dll`是.NET Framework 3.5及以上版本的一部分,它包含了实现LINQ所需的核心类和接口。这个...
本文将介绍使用C# List实现行转列的通用方案,通过使用System.Linq.Dynamic动态LINQ库来完成行转列功能,并且介绍了过滤功能,具有很好的参考价值。 1. 行转列的需求分析 在报表统计方面,经常涉及到行转列报表的...
**标题:“Linq 动态查询参考”** **描述:“LINQ动态查询参考Demo,解决LINQ在动态查询上的不足问题,很好的示例!”** **标签:“Linq 动态查询 参考”** 在.NET框架中,Language Integrated Query(LINQ)是一...
总览使用此库,可以在IQueryable上编写动态LINQ查询(基于字符串): var query = db . Customers . Where ( " City == @0 and Orders.Count >= @1 " , " London " , 10 ) . OrderBy ( " CompanyName " ) . Select ...