C# EF通用存储库多个Include和OrderBy调用

C# EF通用存储库多个Include和OrderBy调用,c#,asp.net-mvc,entity-framework,generics,repository-pattern,C#,Asp.net Mvc,Entity Framework,Generics,Repository Pattern,我已经查看了许多EF通用存储库的示例。我找不到OrderBy和Include的实例。我不知道如何在controller(OrderBy:?,includes:?)中填写问题点。我卡在这里。我在等待您的帮助 存储库 public List<T> Get(Expression<Func<T, bool>> filter = null, Func<IQueryable<T>, IOrderedQueryable<T>> order

我已经查看了许多EF通用存储库的示例。我找不到
OrderBy
Include
的实例。我不知道如何在controller
(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 List Get(表达式filter=null,Func orderBy=null,参数表达式[]包含)
{
E_ComDBContext db=新的E_ComDBContext();
DbSet-DbSet;
dbSet=db.Set();
IQueryable query=dbSet;
foreach(表达式include in includes)
query=query.Include(包含);
//如果(选择!=null)
//query=query.Select(选择);
if(过滤器!=null)
query=query.Where(过滤器);
if(orderBy!=null)
query=orderBy(查询);
返回query.ToList();
}
controller

public JsonResult List()
{
    Repository<Product> _repository = new Repository<Product>();          
    var list = _repository.Get(x=>x.Price>10,orderBy:?,includes:?);           
    return Json(list, JsonRequestBehavior.AllowGet);
}
公共JsonResult列表() { 存储库_Repository=新存储库(); var list=_repository.Get(x=>x.Price>10,orderBy:?,includes:?); 返回Json(列表,JsonRequestBehavior.AllowGet); }
我想试试这个

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

可能的重复:为什么还要编写这样的get方法呢。如果您使用的是一个通用存储库,为什么不使用一个GetAll方法来返回IQueryable,而开发人员只需添加他自己的ordeby includes。