zoukankan      html  css  js  c++  java
  • EF框架 与 Dapper框架 调用分页存储过程

    复制代码
    --创建存储过程
    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<=0)
        set @index=1
        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-1)*@size)+1 and (@index*@size)
    end
    
    declare @x int,@y int
    exec sp_Show 1,2,@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[2].Direction = ParameterDirection.Output;
                parameters[3].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[3].Value.ToString());
                return page;
            }
    复制代码
  • 相关阅读:
    机器学习笔记
    使用pelican创建静态博客
    farbox editor是个好东西
    MamBa项目的插件编写-TikiTorch生成器
    通过rundll32运行C#DLL转储内存
    通过调用Windows本地RPC服务器bypass UAC
    浅谈python反序列化漏洞
    [转载]SQL Server提权系列
    certutil在传输payload中的新奇技巧
    AVIator -- Bypass AV tool
  • 原文地址:https://www.cnblogs.com/likelife/p/13673124.html
Copyright © 2011-2022 走看看