+ -
当前位置:首页 → 问答吧 → linq分页查询

linq分页查询

时间:2011-12-21

来源:互联网

C# code


internal static Votes.Model.Page.PageInfo<T> GetPageData(int pageIndex, int pageSize, Func<T, bool> sqlWhere, Func<T, object> orderBy) {
            using (DataContext db = new DataContext(Votes.Common.Utility.Util.ConnectionString())) {
                //System.IO.StreamWriter sw = new System.IO.StreamWriter(System.Web.HttpContext.Current.Server.MapPath("~/log.txt"), true);
                //db.Log = sw;
                var query = from data in db.GetTable<T>() select data;

                //if (sqlWhere != null) {
                //    query.Where(sqlWhere);
                //}
                //if (orderBy != null) {
                //    query.OrderByDescending(orderBy);
                //}
                var list = query.Where(sqlWhere == null ? new Func<T, bool>(l => 1 == 1) : sqlWhere).OrderByDescending(orderBy == null ? new Func<T, object>(l => l) : orderBy);

                Votes.Model.Page.PageInfo<T> page = new Votes.Model.Page.PageInfo<T>();
                page.TotalRecord = list.Count();//这里算总记录数时候 跟踪数据库发现sql语句没有带where条件
                page.PageIndex = pageIndex;
                page.PageSize = pageSize;
                page.PageCount = (int)Math.Ceiling((page.TotalRecord + 0.0) / pageSize);
                page.DataSource = list.Skip(pageSize * (pageIndex - 1)).Take(pageSize).ToList();//这里也是
                //sw.Dispose();
                //sw.Close();
//总共执行2条sql语句 都木有带条件 到底应该怎么写呢?
                return page;
             }
        }


作者: telankes2000   发布时间: 2011-12-21

该回复于2011-12-21 11:55:21被管理员删除

  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP
#2楼 得分:0回复于:2011-12-21 11:19:12
sqlWhere是不是有问题

作者: ruanwei1987   发布时间: 2011-12-21

不过我感觉不用这样啊,linq是可以延迟加载的,

分页不就是为了 读到每页的时候,才从 数据库中进行读取吗?


继续关注

作者: jiuhexuan   发布时间: 2011-12-21

在顶一下

作者: ruanwei1987   发布时间: 2011-12-21

相关阅读 更多

热门下载

更多