我正在使用LINQKit来扩展 LINQ To Entities 功能:
public Boolean IsMatched(Int32 age)
{
return age > 18;
}
public IQueryable<Users> GetAllMatchedUsers(Func<Int32, Boolean> isMatched)
{
return qry = _Context.Users.AsExpandable().Where(x => x.IsActive && isMatched(x.Age));
}
此代码用于实体框架 ORM对象(_Context 是DbContext,Users - 是DBSet)
此代码引发以下异常
无法将“System.Linq.Expressions.FieldExpression”类型的对象转换为“System.Linq.Expressions.LambdaExpression”类型
摆脱Func并将IsMatched硬编码为GetAllMatchedUsers解决了这个问题。但我需要使用Func将不同的选择标准从业务逻辑层传递到我的数据访问层
PS IsMatched是高度简化的实现,例如当然
请帮帮我。