public EasyUIModel_PageData <TEntity> GetWithPaginationAndNavigationProperty <TKey>(int pageIndex, int pageSize, Expression <Func <TEntity, bool> > whereExpression, Expression <Func <TEntity, TKey> > orderByExpression, bool isAsc = true, params string[] navigationPropertyName) { //dbSet.Include("导航属性名1").Include("导航属性名2").Include("导航属性名3").Where(where).OrderBy(orderBy).Skip(0).Take(10); //dbSet.Where(where).OrderBy(orderBy).Skip(0).Take(10); DbQuery <TEntity> dbQuery = _dbSet; //循环 加入 要连接查询的 导航属性名称 foreach (string includeN in navigationPropertyName) { dbQuery = dbQuery.Include(includeN); } var dbSetWhered = dbQuery.Where(whereExpression); IOrderedQueryable <TEntity> orderWhere = null; if (isAsc) { orderWhere = dbSetWhered.OrderBy(orderByExpression); } else { orderWhere = dbSetWhered.OrderByDescending(orderByExpression); } EasyUIModel_PageData <TEntity> pageData = new EasyUIModel_PageData <TEntity>(); pageData.rows = orderWhere.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList(); pageData.total = dbSetWhered.Count(); return(pageData); }
public EasyUIModel_PageData <TEntity> GetWithPagination <TKey>(int pageIndex, int pageSize, Expression <Func <TEntity, bool> > whereExpression, Expression <Func <TEntity, TKey> > orderByExpression, bool isAsc = true) { var list = _dbSet.Where(whereExpression); IOrderedQueryable <TEntity> orderedList = null; orderedList = isAsc ? list.OrderBy(orderByExpression) : list.OrderByDescending(orderByExpression); EasyUIModel_PageData <TEntity> pageData = new EasyUIModel_PageData <TEntity> { rows = orderedList.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList(), total = orderedList.Count() }; return(pageData); }
public ActionResult Index(int id) { //MODEL.FormatMODEL.PageData<MODEL.Permission> page int pageIndex = Request.Form["page"].AsInt(); int pageSize = Request.Form["rows"].AsInt(); EasyUIModel_PageData <Permission> permissions = null; if (id == 1) //display all permissions { permissions = OperationContext.ServiceSession.PermissionService.GetWithPagination(pageIndex, pageSize, p => p.permissionIsDeleted == false, p => p.permissionOrder); //.Where(o => o.perIsDel == false).OrderBy(o => o.perOrder).ToList().Select(o=>o.ToPOCO()); } else { permissions = OperationContext.ServiceSession.PermissionService.GetWithPagination(pageIndex, pageSize, p => p.permissionIsDeleted == false && p.permissionParentID == id, p => p.permissionOrder); //.Where(o => o.perIsDel == false).OrderBy(o => o.perOrder).ToList().Select(o=>o.ToPOCO()); } permissions.rows = permissions.rows.Select(o => o.ToPOCO()).ToList(); var jsSerializer = new JavaScriptSerializer(); var strJson = jsSerializer.Serialize(permissions); return(Content(strJson)); }