LINQ 动态查询(多条件)
小弟,没有接触过linq,现在项目需要一个linq查询,还有点复杂。求大神指教。
现有一个List<Marker> list 数据源,
Marker 有(id ,type【type1,type2,type3....】,
status【status1,status2,status3.....】 三个属性),
根据List<string> typeList 和List<string> statusList 进行过滤(两个list可能只有一个,可能都存在,所以需要动态查询)。
例如typeList = {type1,type3}; statusList ={status1,status4}
或者 typeList 为空 statusList ={status1}
过滤List<Marker> list 数据源得到 resultList,怎么求得这个resultList。
代码需要这样形式的:
现有一个List<Marker> list 数据源,
Marker 有(id ,type【type1,type2,type3....】,
status【status1,status2,status3.....】 三个属性),
根据List<string> typeList 和List<string> statusList 进行过滤(两个list可能只有一个,可能都存在,所以需要动态查询)。
例如typeList = {type1,type3}; statusList ={status1,status4}
或者 typeList 为空 statusList ={status1}
过滤List<Marker> list 数据源得到 resultList,怎么求得这个resultList。
代码需要这样形式的:
ParameterExpression c = Expression.Parameter(typeof(Customer), "c");
Expression condition = Expression.Constant(false);
foreach (string s in starts)
{
Expression con = Expression.Call(
Expression.Property(c, typeof(Customer).GetProperty("CustomerID")),
typeof(string).GetMethod("StartsWith",
new Type[] { typeof(string) }),
Expression.Constant(s));
condition = Expression.Or(con, condition);
}
Expressionbool>> end =
Expression.Lambdabool>>
(condition, new ParameterExpression[] { c });
...全文
相关推荐
C#实现多条件组合查询
**动态条件构建**:在实际应用中,条件可能需要根据用户输入动态构建。可以创建一个方法,接收一组条件作为参数,然后生成并执行对应的Linq查询。
C#347-多条件查询源代码
总结,C#中实现多条件查询有多种方式,如使用传统的LINQ、Entity Framework,或者更灵活的动态查询。根据项目需求和场景,选择合适的方法可以有效提高代码的可读性和性能。
linqtosql的多条件动态查询.pdf
【LINQ to SQL 多条件动态查询】在.NET框架中,LINQ to SQL是一个强大的ORM(Object-Relational Mapping)工具,它允许开发人员使用C#或VB.NET的查询语法来操作
Linqtosql实现多条件的动态查询[参考].pdf
《使用LINQ to SQL实现多条件动态查询》在.NET框架中,LINQ(Language Integrated Query,语言集成查询)是一种强大的数据查询工具,它允许开发者使用类似SQL的语法在各种数据源上进行查询
Linqtosql实现多条件的动态查询[参照].pdf
本文将深入探讨如何使用 LINQ to SQL 实现多条件的动态查询。在给定的例子中,我们可以看到两种主要的方法来实现动态查询。


LINQ
