Linq动态查询与模糊查询 ---转

时间:2023-03-08 16:27:37
Linq动态查询与模糊查询 ---转

Linq动态查询与模糊查询(带源码示例)

继LINQ动态组合查询PredicateExtensions讲解

----- 在用上面的方法时遇到了些问题

解决 LINQ to Entities 不支持 LINQ 表达式节点类型“Invoke”

LINQ to Entities 不支持 LINQ 表达式节点类型“Invoke” 
解决方案 需要引用.第三方库 LinqKit.dll

然后在Where() 之前先用 AsExpandable() 
例如:

DB.入库明细表.AsExpandable().Where(eps).ToList();

 var eps = GetWhere(); //这里动态拼装查询表达式.
var list = db.入库明细表
.AsExpandable() //这个最重要.否则会出如题的错误.
.Where(eps)
.OrderByDescending(p => p.cdrq)
.Skip(startRow)
.Take(pageSize)
.ToList();

http://www.albahari.com/nutshell/linqkit.aspx

Linq扩展组件:LINQKit介绍