Subsonic的复杂查询
来源:互联网 发布:云计算监控平台架构图 编辑:程序博客网 时间:2024/05/07 03:36
/// <summary> /// 取得分类中的最新数据(带分页) /// </summary> /// <param name="categoryid">分类ID</param> /// <param name="iPageCount">每页数据条数</param> /// <param name="iPage">页码(从0开始)</param> /// <returns>文章列表</returns> public static List<EArticle> GetArticleModel(int categoryid, int iPageCount, int iPage) { // 取得所有子分类 List<int> catids = new List<int>(); catids.Add(categoryid); GetAllSubCatIds(categoryid, catids); List<EArticle> model = new List<EArticle>(); foreach (article item in article.Find(p => catids.ToArray().Contains(p.categoryid) && p.deleteflag == false).OrderByDescending(a => a.createdate).Skip(iPage * iPageCount).Take(iPageCount)) { EArticle ea = new EArticle(); ea.id = item.id; ea.categoryid = item.categoryid; ea.title = item.title; ea.author = item.author; ea.titlepic = item.titlepic; ea.createDate = item.createdate; ea.deleteflag = item.deleteflag; model.Add(ea); } return model; } //获得所有Aarticle public static List<EArticle> GetAllArticle(int iPageCount, int iPage) { List<EArticle> model = new List<EArticle>(); foreach (article item in article.All().OrderByDescending(a => a.createdate ).Skip(iPage * iPageCount).Take(iPageCount)) { EArticle ea = new EArticle(); ea.categoryid = item.categoryid; ea.id = item.id; ea.title = item.title; ea.author = item.author; ea.createDate = item.createdate; ea.deleteflag = item.deleteflag; model.Add(ea); } return model; } public static int GetPageCount(int categoryid, int iPageCount) { List<int> catids = new List<int>(); catids.Add(categoryid); GetAllSubCatIds(categoryid, catids); List<EArticle> list = new List<EArticle>(); foreach (article item in article.Find(p => catids.ToArray().Contains(p.categoryid) && p.deleteflag == false).OrderByDescending(a => a.createdate)) { EArticle ea = new EArticle(); ea.id = item.id; ea.title = item.title; ea.author = item.author; ea.deleteflag = item.deleteflag; list.Add(ea); } int count = list.Count(); int PageCount = (int)Math.Ceiling(count / (double)iPageCount); return PageCount; }