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();
}
}
しかし、注文句で int から bool に変換できないというエラーが発生しています。式の bool をオブジェクトに変更した後も、エラーが発生します。
次のようにアクセスすると:
GetAll(o => o.CustomerID, j => j.CustomerID != 20, 10, 0);
エラー:「LINQ to Entities は、EDM プリミティブまたは列挙型のキャストのみをサポートしています」
このエラーに対する提案と、これを解決する方法はありますか?
ありがとう