Универсальный репозиторий EF Multiple включает и OrderBy Call - PullRequest
0 голосов
/ 26 декабря 2018

Я рассмотрел много примеров EF Generic Repository. Я не смог найти экземпляры OrderBy и Include. Я понятия не имею, как заполнить вопросы в контроллере (orderBy:?,includes:?). Я застрял здесь.жду вашей помощи

Репозиторий

public List<T> Get(Expression<Func<T, bool>> filter = null, Func<IQueryable<T>, IOrderedQueryable<T>> orderBy = null, params Expression<Func<T, object>>[] includes)
{
        E_ComDBContext db = new E_ComDBContext();
        DbSet<T> dbSet;
        dbSet = db.Set<T>();

        IQueryable<T> query = dbSet;

        foreach (Expression<Func<T, object>> include in includes)
            query = query.Include(include);

        //if (select != null)
        //    query = query.Select(select);
        if (filter != null)
            query = query.Where(filter);

        if (orderBy != null)
            query = orderBy(query);

        return query.ToList();
}

Контроллер

public JsonResult List()
{
    Repository<Product> _repository = new Repository<Product>();          
    var list = _repository.Get(x=>x.Price>10,orderBy:?,includes:?);           
    return Json(list, JsonRequestBehavior.AllowGet);
}

1 Ответ

0 голосов
/ 26 декабря 2018

Я бы попробовал.

var list = _repository.Get(filter: x => x.Price > 10, orderBy: x=> x.OrderBy(y => y.Price), x => x.Location, x=> x.Brand);
...