zoukankan      html  css  js  c++  java
  • Linq to sql 语法方法示例

    联表查询,判断追加条件,对集合分页

     public ActionResult Index(string titleName, string nickName, int pageIndex = 1)
            {
                var data = from m in _db.AppArticleComment
                           join o in _db.AppArticle on m.ArticleId equals o.ArticleId
                           where (string.IsNullOrEmpty(nickName) ? true : m.NickName == nickName)//在此判断加条件,当变量值null需要转为整型时会抱异常
                           select new AppArticleCommentModel()
                           {
                               Id = m.Id,
                               OId = m.OId,
                               MId = m.MId,
                               NickName = m.NickName,
                               Comment = m.Comment,
                               Good = m.Good,
                               Created = m.Created,
                               IsHorizontal = m.IsHorizontal,
                               Version = m.Version,
                               From = m.From,
                               ArticleName = o.Title
    
                           };
    
                if (!string.IsNullOrEmpty(titleName))
                {
                    //也可在此判断添追加条件
                    data = data.Where(m => m.ArticleName.Contains(titleName)); 
                }
    
                int total = 0;
                int pageSize = 10;
                //对集合进行分页
                var query = data.OrderByDescending(m => m.Created)
                    .Skip(pageSize * (pageIndex - 1)).Take(pageSize);
    
                var list = query.ToList();
                total = data.Count();
    
                PagingHelper<AppArticleCommentModel> dataPaging = new PagingHelper<AppArticleCommentModel>(10, list);//初始化分页器
                dataPaging.PageIndex = pageIndex;//指定当前页
                dataPaging.PageCount = (int)Math.Ceiling(total / (double)pageSize);
                dataPaging.PageSize = pageSize;
                dataPaging.TotalCount = total;
    
                return View(dataPaging);//返回分页器实例到视图
            }
    View Code
  • 相关阅读:
    Java-使用IO流对大文件进行分割和分割后的合并
    Java-单向链表算法
    Java-二分查找算法
    Java-二叉树算法
    Java-对象比较器
    Android中Activity的四种开发模式
    Struts2工作原理
    C++实现单例模式
    数组中有一个数字出现的次数超过数组的一半,请找出这个数字
    c++ enum用法【转】
  • 原文地址:https://www.cnblogs.com/yonsy/p/4810282.html
Copyright © 2011-2022 走看看