转:c# Linq 的分页[转]】的更多相关文章

真有趣. C#里面的List对象.set对象,都可以直接使用Linq(这是因为,它们都实现了接口IEnumable?),比如说:Where().OrderBy()什么的.假如有点SQL基础的人,一看这些方法,会觉得很亲切. 在ORM.EF之前,我们操作数据库,主要是在DAL里写SQL,然后调用各种SqlHelper.现在好了,数据库与开发代码分离,上帝的归上帝,凯撒的还给凯撒,代码里面只操作各种对象了,直接的select * from 叉叉 where 叉叉 order by 叉叉没有了,代之以…
本文转自:http://diaosbook.com/Post/2012/9/21/linq-paging-in-entity-framework 我们知道,内存分页效率很低.并且,如果是WebForm的项目,页面上会有巨型ViewState,这必然不好.我自己博客用的是一个存储过程做的分页,用到现在都挺好,没有任何效率问题.后来想到,既然项目里有Entity Framework,那为什么不利用EF完成分页呢- 稍做研究之后发现,EF分页其实很简单.不过一样写文章了,光贴代码是不负责的,还是得稍微…
一般使用格式为 int pagesize = 分页大小(每一页大小)int pageindex = 第几页(一般这个变量是随循环递增的) 使用方法.Skip(pagesize*pageindex).Take(pagesize) .Skip()   忽略数,表示从哪里开始分页 .Take()  表示每一页截取多少个记录 注意 ,数列是从0开始的,也就是说,第一个是 0,第二个是 1 ... ... 以上方法结合,截取的只是一页,需要在循环中使用,不断截取下一页 例如 {1,2,3,4,5,6,7,…
转:http://www.cnblogs.com/leleroyn/archive/2008/05/14/1196811.html 很多学习Linq的朋友肯定有自己所不同的方法,考虑这个问题我所想到的是 用Take(),Skip(),TakeWhile(),SkipUntil()中的方法来实现 首先看Take()是否可用 Take方法的作用是从结果中取固定数量的值, MydbDataContext mydb=new MydbDataContext("server=.;database=mydb&…
1.首先使用Linq连接数据库,并扩展属性 public partial class User { public string SexStr { get { string end = "<暂无>"; if (this._Sex != null) { end = Convert.ToBoolean(this._Sex) ? "男" : "女"; } return end; } } public bool SexStr1 { get {…
分页效果图: 表格下面的分页按钮样式是我自己做的一个样式,这4个按钮都是用同一张图片:这张图片是用ps做的. 接下来我们说一下怎么去做这个样式 第一css代码: ._HomePage,._PreviousPage,._NextPage,._TrailerPage{ width:20px; height:20px; background:url(../images/paging.gif) no-repeat; border:none; display:block;} ._HomePage:hove…
if (!string.IsNullOrEmpty(order) && !string.IsNullOrEmpty(dir))//判断排序的字段名称和排序的类型是否为空 { if (dir.Equals("asc")) { list1 = listData.OrderBy(p => GetPropertyValue(p, order)).Skip(start).Take(limit).ToList(); } else { list1 = listData.Orde…
每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客!当然,希望将来的一天,某位老板看到此博客,给你的程序员职工加点薪资吧!因为程序员的世界除了苦逼就是沉默.我眼中的程序员大多都不爱说话,默默承受着编程的巨大压力,除了技术上的交流外,他们不愿意也不擅长和别人交流,更不乐意任何人走进他们的内心! 悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来.我们都知道计算机技术发展日新月异,速度惊人的快,你我稍不留神,就会被慢慢淘汰!因此:每日不间断的…
昨天在用LINQ写分页的时候碰到一个很奇怪的问题:翻页的时候,有的数据会莫名其妙地消失,查了半个多小时才发现问题所在,其实是一个很细节的地方. 数据表如下: LINQ分页的实现是: var articles = context.Articles.Skip(startRecord).Take(pageSize); 当pageSize不为1时,得出的结果总是错的.用Profiler查看后,发现当pageSize为1时,LINQ生成的语句为: SELECT TOP (10) [t0].[Id], [t…
目录 一.前言 1. 运行环境 二.前期准备工作 1. 创建 MongoDBContext MongoDb操作上下文类 2.创建测试类 3.创建测试代码 三.内嵌数组增加元素操作 1.Update.Set()方法 替换内嵌数组(不推荐使用) 2.Update.Push()方法 直接将元素压入内嵌数组(推荐) 3. Update.PushEach()方法 将多个元素压入内嵌数组(推荐) 四.内嵌数组删除元素操作 1. Update.Set()方法 替换内嵌数组(不推荐使用) 2. Update.P…
摘要 现在基于ASP.NET MVC的分页控件我想大家都不陌生了,百度一下一大箩筐.其中有不少精品,陕北吴旗娃杨涛大哥做的分页控件MVCPager(http://www.webdiyer.com/)算作当下开源里面的佼佼者,曾经在使用过程中感觉效果非常棒,拜读其源码也受益非浅.但我在使用其中的linq进行分页操作时,如下: var log = from m in db.TESTA join n in db.TESTB on m.id equals n.id select new ResultMo…
在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑) 与 .NET平台开源项目速览(3)小巧轻量级NoSQL文件数据库LiteDB中,介绍了LiteDB的基本使用情况以及部分技术细节,我还没有在实际系统中大量使用,但文章发布后,有不少网友( loogn)反应在实际项目中使用过,效果还可以吧.同时也有人碰到了关于LiteDB关于分页的问题,还不止一个网友,很显然这个问题从我的思考上来说,作者不可能不支持,同时也翻了一下源码,发现Find方法有skip和limite参数,…
使用纯HTML页与js.ajax.Linq实现分页与组合查询的配合使用 <body> <div id="top"><input type="button" id="btn1" class="btn" value="刷新" /></div> <div style="position:relative;text-align:center;heigh…
本文来自: http://www.bbsmvc.com/MVC3Framework/thread-206-1-1.html You can see from Figure 7-16 that all of the products in the database are displayed on a single page. In this section, we will add support for pagination so that we display a number of pro…
在EF中,使用linq进行分页是很方便的,假如我们有一个EMP表,结构如下: public class Emp { [Key] public Guid No { get; set; } public int Age { get; set; } [Required] [StringLength(50)] public string Name { get; set; } } 如果我们进行分页的话,一般使用Skip和Take方法,这里一行最简单的代码如下: mContext.Emp.OrderBy(e…
一年半没有做过MVC的项目了,还是很怀念(因为现在项目还是原来的ASPX),个人还是喜欢mvc,最近又开始重拾MVC,感觉既熟悉又陌生. 记录一下封装好的分页代码 首先先说下 我使用EF codefirst的目的. 是因为可以有更纯净的代码 不再有EDMX这些东西  而不是真正的用 code first 先有代码 再生成数据库.所以 我虽然使用 的是codefirst 但是本质依然是数据库优先.这个大家可以网上找资料 在基类中写好方法 public class BaseService { pub…
在用.net core进行数据库访问,需要处理一些比较复杂的查询,就不得不用原生的SQL查询了,然而EF Core 和EF6 的原生sql查询存在很大的差异. 在EF6中我们用SqlQuery和ExecuteSqlCommand进行sql语句的执行,而在EF Core中我们则使用FromSql和ExecuteSqlCommand 一.ExecuteSqlCommand(这两者没什么太大的区别) Company08Entities db = new Company08Entities(); str…
前言 在上一篇中简单介绍了Linq的入门级用法,这一篇尝试讲解一些更加深入的使用方法,与前一篇的结构不一样的地方是,这一篇我会先介绍Linq里的支持方法,然后以实际需求为引导,分别以方法链的形式和类SQL的形式写出来. 前置概念介绍 Predicate<T> 谓词.断言,等价于 Func<T,bool> 即返回bool的表达式 Expression<TDelegate> 表达式树,这个类很关键,但是在这里会细说,我们会讲它的一个特殊的泛型类型:Expression<…
     前些日子,做了一个物业收费系统,cs模式,用到了linq to sql 技术,这是我第一次使用这个东东写程序存取数据库,迷迷糊糊搞得一塌糊涂,当时有个同学他们找好的分页组件,然后写好了调用方法,由于时间比较急,而且第一次用,所以没有怎么研究就直接按照注释使用他们写好的分页方法,然而开发过程中一直都对他们写的方法有怀疑,会不会是一种投机取巧,胡编乱造的?后来我也做过一些简单分析,我发现程序在业务逻辑层中每次都从数据库中将数据全部读取出来,然后循环将数据转成特定的List,也就是遍历整个数…
using System;using System.Collections.Generic;using System.ComponentModel.Design;using System.Linq;using System.Text;using System.Threading.Tasks; namespace DataBaseFirst{ class Program { static void Main(string[] args) { StuDBEntities1 stuDBEntities…
写在前面 说来也很巧, 下午再做一个页面,再普通不过的分页列表,我还是像往常一样,基于MVC环境下,我正常用PagedList.MVC AJAX做无刷新分页,这时候问题就来了,列表数据中有个轮播图用到了slides.js插件,轮播图也用到了分页,数据第一页轮播图页码能正常使用,数据列表翻到第二页则轮播图的页码就无法正常使用,实际上PagedList.MVC自带的样式文件已经和slides.j自带的样式文件冲突,我还特意修改了slides.js的样式文件,然并无卵用,让郁闷飞一会... 1.基于M…
转载请注明出处:http://www.cnblogs.com/codefish/p/4993809.html 最近在群里频繁的被问到ajax和js的处理问题,我们都知道,现在很多的页面都是用动态加载的技术,这一方面带来了良好的页面体验,另一方面,在抓取时或者或少的带来了相当大的麻烦,因为我们知道直接get主页页面url,这些内容是没有办法显示的.那怎么处理这些内容呢? 上图是一个直观的分析,在抓取数据时,我们一般优先考虑到手机端的网站,因为手机端的网站得到数据相对容易,特别是wap协议的网站,其…
我们要建造的程序不是一个浅显的例子.我们要创建一个坚固的,现实的程序,坚持使它成为最佳实践.与Web Form中拖控件不同.一开始投入MVC程序付出利息,它给我们可维护的,可扩展的,有单元测试卓越支持的构造精良的代码.一旦我们有了基本的基础设施,我们就能加快. 1 创建解决方案和项目 1.1 创建一个空白解决方案,命名为SportsStore,添加三个项目 Project Name VS Project Template Purpose SportsStore.Domain 类库 提供域实体和逻…
摘要: 这篇文章将介绍一个ASP.NET应用程序SportsStore的开发过程. 开始 创建解决方案 创建工程 在New ASP.NET Project - SportsStore窗口中,选择Empty模板和MVC folders.其他的模板将自动给你创建一些文件夹和文件,这里我选择Empty,从干净的工程里开始,演示如何将模板的东西加进来. 创建后,将SportsStore工程改名为SportsStore.UI. 创建另一个Class Library工程:SportsStore.Domain…
#region 查询方法 /// <summary> /// 获取单个对象 /// </summary> /// <typeparam name="T">数据库实体类型</typeparam> /// <param name="id">objectId</param> /// <param name="collectionName">集合名称</param&…
一.linq高级查 1.模糊查(字符串包含) 1 public List<User> Select(string name) 2 { 3 return con.User.Where(r =>r.UserName.Contains(name)).ToList(); 4 } 2.查开头(StartsWith,以XX开头) public List<User> Select(string name) { return con.User.Where(r => r.UserName…
一.linq高级查 1.模糊查(包含) 1 public List<User> Select(string name) 2 { 3 return con.User.Where(r =>r.UserName.Contains(name)).ToList(); 4 } 2.查开头 public List<User> Select(string name) { return con.User.Where(r => r.UserName.StartsWith(name)).To…
//LINQ分页的方法 //1.获取总页数 public int GetPageCount(int pageSize)//pageSize是每页的行数 { //先查出总共有多少行 int rowCount = this._Context.car.Count(); //页数=总行数/每页行数 int pageCount =(int) Math.Ceiling(1.0 * rowCount / pageSize); return pageCount; } //2.查询出指定页的数据 public L…
//Linq分页查询 int pageIndex = Convert.ToInt32(HttpContext.Current.Request["PageIndex"]); int start = pageIndex * Parameter.pageSize; ) * Parameter.pageSize; userList = userList.Take<UserInfo>(end).Skip<UserInfo>(start).ToList<UserInf…
/// <summary> /// Linq分页 /// </summary> ;//每页条数 ;//总条数 ;//当前第几页 public static string con = ConfigurationManager.ConnectionStrings["MySQLDBConnectionString"].ConnectionString; GuestBookDataContext ctx = new GuestBookDataContext(con);…