我正在尝试编写一个get all函数并传入where和order表达式来获取我的分页网格视图的记录:
public virtual IList<Customer> GetAll(Expression<Func<Customer, bool>> orderClause, Expression<Func<Customer, bool>> whereClause, int takeItems, int skipItems, bool descendingOrder = false)
{
if (descendingOrder)
{
return Accessor.Current.WCDataClassesDataContext.Customers.AsNoTracking().OrderByDescending(orderClause).Where(whereClause).Skip(skipItems).Take(takeItems).ToList();
}
else
{
return Accessor.Current.WCDataClassesDataContext.Customers.AsNoTracking().OrderBy(orderClause).Where(whereClause).Skip(skipItems).Take(takeItems).ToList();
}
}
但是我在order子句中遇到错误,它无法从int转换为bool。将表达式中的bool更改为object后仍然出现错误:
如果我这样访问它:
GetAll(o =&gt; o.CustomerID,j =&gt; j.CustomerID!= 20,10,0);
错误:“LINQ to Entities仅支持转换EDM原语或枚举类型”
对此错误的任何建议以及如何解决此问题?
由于