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