我试图在我的项目中使用来自https://github.com/bbraithwaite/RepoWrapper/blob/master/DynamicQuery.cs的方法GetDynamicQuery,我也有实现方法GetCriteriaList()“Code_1”的抽象类。我把它称为“Code_2”,它的工作正常。
Code_1
public abstract class ListFilterModel<T> where T: EntityBase
{
[Display(Name="Name", Order=1)]
public string name { get; set; }
public string sort { get; set; }
public string sortdir { get; set; }
public virtual IList<Predicate<T>> GetCriteriaList()
{
List<Predicate<T>> criteriaList = new List<Predicate<T>>();
return criteriaList;
}
}
CODE_2
Expression<Func<T, bool>> filtered = c => filterModel.GetCriteriaList().All(pred => pred(c));
接下来我将变量传递给GetDynamicQuery()。我在网上得到了错误
var body = (BinaryExpression)expression.Body;
Unable to cast object type "System.Linq.Expressions.MethodCallExpressionN" to "System.Linq.Expressions.BinaryExpression".
我怎么解决它?