Динамическое множественное условие Where в Entity Framework - PullRequest
0 голосов
/ 10 октября 2019

У меня есть несколько условий при использовании экземпляра моего класса. Я думал, что могу добавить их в виде списка

var filtersForPmk= new List<Func<AssembledDevice, bool>>();

 if(criterias.FromPmkSerieNo>0 && criterias.ToPmkSerieNo > 0)
    filtersForPmk.Add(x=>Convert.ToInt32(x.Device_SN)>=criterias.FromPmkSerieNo &&
                      Convert.ToInt32(x.Device_SN)<=criterias.ToPmkSerieNo)    
    //I'll add more criterias                     

var pmkList = pmk.GetQuery(f=>filtersForPmk.All(f));

, но в последней строке я получаю следующую ошибку

enter image description here

А вот и метод GetQuery

    public virtual IQueryable<TEntity> GetQuery(Expression<Func<TEntity, bool>> predicate = null,
                                                Func<IQueryable<TEntity>,
                                                IOrderedQueryable<TEntity>> orderExpression = null)
    {
        IQueryable<TEntity> qry = this.DBSet;

        if (predicate != null)
            qry = qry.Where(predicate);

        if (orderExpression != null)
            return orderExpression(qry);
        return qry;
    }

Что я делаю не так?

...