62,072
社区成员
发帖
与我相关
我的任务
分享
public List<T> GetListByPage<T,Tkey>(int pageSize, int pageIndex,out int totalPage, out int total, Expression<Func<T, bool>> whereLambda, Func<T, Tkey> orderbyLambda, bool isAsc) where T : class
{
using (var context = new Entities())
{
context.Database.CommandTimeout = 100;
total = context.Set<T>().Where(whereLambda).Count();
totalPage = (total + pageSize - 1) / pageSize;
if (isAsc)
{
var temp = context.Set<T>().Where(whereLambda)
.OrderBy<T, Tkey>(orderbyLambda)
.Skip(pageSize * (pageIndex - 1))
.Take(pageSize);
return temp.ToList();
}
else
{
var temp = context.Set<T>().Where(whereLambda)
.OrderByDescending<T, Tkey>(orderbyLambda)
.Skip(pageSize * (pageIndex - 1))
.Take(pageSize);
List<T> list = temp.ToList();
return list;
}
}
}
bll.GetListByPage<t_hotelinfo,long>(10,3,out pages,out count,p=>p.CityId==101,p=>p.ID,false);
var query = ......;
if( cond1)
query = from x in query order by x.a select x;
else
query = from x in query order by x.b+1 select x;