1. SqlServer创建存储过程:

--创建存储过程
create proc sp_Show
(
@index int, --当前页
@size int, --每页大小
@totalcount int out, --总数据数
@pagecount int out --总页数
)
as
begin
--计算总数据数
select @totalcount=COUNT(*) from Goods --(where name like '%'+ @name +'%')
--计算总页数
set @pagecount=CEILING(@totalcount*1.0/@size) if(@index<=)
set @index=
if(@index>=@pagecount)
set @index=@pagecount --分页查询
select * from
(select ROW_NUMBER() over(order by GId) rn,*from Goods) tb1 where --(where name like '%'+ @name +'%')
rn between ((@index-)*@size)+ and (@index*@size)
end declare @x int,@y int
exec sp_Show ,,@x out,@y out
select @x 总数据数,@y 总页数

2.  Entity FrameWork框架:

      //分页存储过程显示
[HttpGet]
public PageDate GetGoods2(int index, int size)
{
//实例化参数
SqlParameter[] parameters = new SqlParameter[]
{
new SqlParameter("@index",index),
new SqlParameter("@size",size),
new SqlParameter("@totalcount",SqlDbType.Int), //总数据数
new SqlParameter("@pagecount",SqlDbType.Int), //总页数
};
//指定输出参数
parameters[].Direction = ParameterDirection.Output;
parameters[].Direction = ParameterDirection.Output; //存储过程查询
var list = db.Database.SqlQuery<Goods>("exec sp_Show @index,@size,@totalcount out,@pagecount out", parameters).ToList(); PageDate page = new PageDate();
page.List = list;
page.PageCount = int.Parse(parameters[].Value.ToString());
return page;
}

3. Dapper框架:

     //存储过程分页
[HttpGet]
public PageDate GetGoods2(int index, int size)
{
  //添加参数
var p = new DynamicParameters();
p.Add("@index", index);
p.Add("@size", size);
  //指定输出参数
p.Add("@totalcount", dbType: DbType.Int32, direction: ParameterDirection.Output); //总数据数
p.Add("@pagecount", dbType:DbType.Int32,direction:ParameterDirection.Output); //总页数 List<Goods> list = new List<Goods>();
using (SqlConnection conn = new SqlConnection(connstr))
{
list = conn.Query<Goods>("sp_Show",p,commandType:CommandType.StoredProcedure).ToList();
} PageDate page = new PageDate();
page.List = list;
   //获取指定的参数值
page.PageCount = p.Get<int>("@pagecount");
return page;
}

EF框架 与 Dapper框架 调用分页存储过程的更多相关文章

  1. mvc,EntityFramework调用分页存储过程

    此文讲述mvc4+entityframework6+sqlserver2008环境下调用存储过程,实现分页. 1.分页存储过程代码如下: 分页原理用的row_number()和over()函数实现(没 ...

  2. SQLserver 的分页存储过程

      -- 1.建立修改学生数据的存储过程 -- 2.建立根据班级Id和学生姓名模糊查询的分页存储过程,要求正确输出总记录数,总页数-- (输入班学生姓名 计算总记录数 计算总页数) -- @name ...

  3. 【摘录】使用实体框架、Dapper和Chain的仓储模式实现策略

    以下文章摘录来自InfoQ,是一篇不错的软问,大家细细的品味 关键要点: Dapper这类微ORM(Micro-ORM)虽然提供了最好的性能,但也需要去做最多的工作. 在无需复杂对象图时,Chain这 ...

  4. .NET之Dapper框架运用

    Dapper框架 1.项目引用Dapper的Nuget程序包; 2.配置链接类 using System; using System.Collections.Generic; using System ...

  5. 完整的分页存储过程以及c#调用方法

    高效分页存储过程 USE [db] GO /****** 对象: StoredProcedure [dbo].[p_Page2005] 脚本日期: // :: ******/ SET ANSI_NUL ...

  6. [tty与uart]1.Linux中tty框架与uart框架之间的调用关系剖析

    转自:http://developer.51cto.com/art/201209/357501_all.htm 目录 1.tty框架 2.uart框架 3.自底向上 4.自顶向下 5.关系图 在这期间 ...

  7. 【EF 4】ORM框架及其流行产品之一EF介绍

    导读:跳进了多租户切换数据库的坑,那么就继续走下去吧.在我们的项目中,是运用EF实现对数据库的操作,那么EF其实是.NET系统中,基于ORM框架的一个产品实现.在java那边,则有Hibernate和 ...

  8. VueJs开发笔记—IDE选择和WebStorm性能优化、框架特性和数据调用、路由选项以及使用

    一.IDE的选择: VsCode和WebStorm都是不错的选择,两者运行调试都非常的方便都可以使用快捷键运行和停止,就打开项目的速度和对电脑配置的要求来说,vscode要比webstorm要出色很多 ...

  9. Oracle分页存储过程及PLSQL中的调用脚本

    撰写过程:网上搜集测试了好多的Oracle分页存储过程代码,经整理后终于通过测试,特分享给大家 测试步骤:1.运行创建包命令;2.运行创建存储过程命令;3.运行调用分页存储过程语句 测试环境:wind ...

随机推荐

  1. dataframe一次小实验

    老师搞不清,一个ndarray[df['columns']==a],返回的是什么,目前看来应该是df[] == a 的索引

  2. CSS3 文字边框 -webkit-text-stroke 镂空的字体

    CSS边框的一个不足就是只有矩形的元素才能使用. -webkit-text-stroke可以为文字添加边框.它不但可以设置文字边框的宽度,也能设置其颜色. 而且,配合使用color: transpar ...

  3. 当我谈 HTTP 时,我谈些什么?

    当我们打开网站时也许不会去留意网站前面的HTTP是怎么来的.但是它毫无疑问在网络中有着举足轻重的地位.本文从起源到发展,详说HTTP从1到3的演变. 说在前面 本文不致力于讲完 HTTP 的全部内容, ...

  4. P1100 高低位切换

    这个题很简单 直接用左移位(<<)和右移位(>>)就可以过了 #include<iostream> #include<cstdio> using nam ...

  5. centos7中防火墙转为iptables

    1.关闭firewall systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止fir ...

  6. linux nginx 部署多套服务(以react包为例)

    前言 今天我特地写下笔记,希望可以完全掌握这个东西,也希望可以帮助到任何想对学习这个东西的同学. 本文用nginx部署服务为主要内容,基于CentOs 7.8系统. 文档版本:1.0.1 更新时间:2 ...

  7. Everything搜索表达式

    导出搜索列表为txt或csv ​ 索引最近变化 维持一个额外的按照最近变化排序的系统文件数据库,其可以通过 rc: 搜索,或以最近变化排序. ​ 搜索运行次数大于 100: runcount:> ...

  8. MySQL中change与modify的用法与区别

    浅析MySQL中change与modify的区别   MySQL版本 show variables like 'version'; 表结构 desc student; 修改表 例如:修改表studen ...

  9. lua 表

    最近在尝试配置 awesome WM,因此粗略地学习了一下 lua . 在学习过程中,我完全被表表在 lua 中的应用所镇住了. 表在 lua 中真的是无处不在:首先,它可以作为字典和数组来用:此外, ...

  10. org.apache.ibatis.reflection.ReflectionException: There is no getter for property named XXX 异常的解决办法。(亲测,一次成功!) #Mybatis

    今天在用Mybatis的时,写测试验证插入操作时出现错误org.apache.ibatis.reflection.ReflectionException: There is no getter for ...