Я пытался использовать метод GetDynamicQuery из https://github.com/bbraithwaite/RepoWrapper/blob/master/DynamicQuery.cs в моем проекте, также у меня есть абстрактный класс с реализованным методом 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".
Как я могу это исправить?