.Net平台下兼容.NET Standard 2.0,一个实现以Lambda表达式转转换标准SQL语句,使用强类型操作数据的轻量级ORM工具,在减少魔法字串同时,通过灵活的Lambda表达式组合,实现业务数据查询的多样性。

一、存储过程数据获取

1、存储过程

Create PROCEDURE [dbo].[CustOrderHist] @CustomerID nchar(5)

AS

SELECT ProductName, Total=SUM(Quantity)

FROM Products P, [Order Details] OD, Orders O, Customers C

WHERE C.CustomerID = @CustomerID

AND C.CustomerID = O.CustomerID AND O.OrderID = OD.OrderID AND OD.ProductID = P.ProductID

GROUP BY ProductName

2、实例一个执行器

string cnstr = "Data Source=(local);Initial Catalog=Northwind;User ID=test;Password=test";

ConnectionStringConnectionProvider connectionProvider = new ConnectionStringConnectionProvider(cnstr);

IStatementExecutor target = new StatementExecutor(new SqlLogger(new List<ISqlLogWriter>() { new NoOpSqlLogger() }), connectionProvider);

3、参数定义

var paramDef = new ParameterDefinition[]

{

new ParameterDefinition

{

Name = "CustomerID",

Value = "ALFKI"

}

};

4、调用ExecuteStoredProcedure获取一个IDataReader

IDataReader dataReader = target.ExecuteStoredProcedure("CustOrderHist", paramDef);

while (dataReader.Read())

{

Console.WriteLine($"ProductName: {dataReader["ProductName"]},Total: {dataReader["Total"]}");

}

二、InputOutput、OutPut参数

1、存储过程

ALTER PROCEDURE [dbo].[MyTestOutParam]

(  @testint int output,@teststr nvarchar(50) output )

AS

BEGIN

SELECT @testint=100+@testint, @teststr='test out put  测试'

END

2、参数定义

var paramDef2 = new ParameterDefinition[]

{  new ParameterDefinition

{  Name = "@testint",

DbType=DbType.Int32,

Direction=ParameterDirection.InputOutput,

Value=99,   },

new ParameterDefinition

{  Name = "@teststr",

DbType=DbType.String,

Direction=ParameterDirection.Output,

Size=100  }

};

3、调用ExecuteStoredProcedure

var dataReader2 = target.ExecuteStoredProcedure("MyTestOutParam", paramDef2);

4、调用GetParameterCollection方法获取返回值

dataReader2.GetParameterCollection(paramDef2);

轻量ORM-SqlRepoEx (五) 存储过程操作的更多相关文章

  1. Dapper.NET—轻量ORM

    Dapper.NET使用 本文目录 Dapper.NET使用 1.为什么选择Dapper 2.以Dapper(4.0)为例. 2.1 在数据库中建立几张表. 2.2实体类. 3.使用方法 3.1  一 ...

  2. Dapper.NET——轻量ORM

    Dapper.NET使用 http://www.cnblogs.com/yankliu-vip/p/4182892.html 本文目录 Dapper.NET使用 1.为什么选择Dapper 2.以Da ...

  3. SqlSugar轻量ORM

      蓝灯软件数据股份有限公司项目,代码开源. SqlSugar是一款轻量级的MSSQL ORM ,除了具有媲美ADO的性能外还具有和EF相似简单易用的语法. 学习列表 0.功能更新 1.SqlSuga ...

  4. C# Dapper 轻量ORM调试对SQLServer

    Dapper简介 Dapper只有一个代码文件,完全开源,你可以放在项目里的任何位置,来实现数据到对象的ORM操作,体积小速度快. 使用ORM的好处是增.删.改很快,不用自己写sql,因为这都是重复技 ...

  5. 轻量ORM-SqlRepoEx介绍

    轻量级 ORM-SqlRepoEx 介绍 SqlRepoEx是 .Net平台下兼容.NET Standard 2.0人一个轻型的ORM.解决了Lambda转Sql语句这一难题,SqlRepoEx使用的 ...

  6. 轻量ORM-SqlRepoEx (九)与Dapper共舞

    Dapper就另一个轻量ORM,Dapper及其扩展解决了数据访问端的大部门问题,提供了如数据事务管理.缓存等支持.SqlRepoEx的重点解决了Lambda转换成SQL语句,使SQL使用强类型编写, ...

  7. 轻量型ORM框架Dapper的使用

    在真实的项目开发中,可能有些人比较喜欢写SQL语句,但是对于EF这种ORM框架比较排斥,那么轻量型的Dapper就是一个不错的选择,即让你写sql语句了,有进行了关系对象映射.其实对于EF吧,我说下我 ...

  8. CYQ.Data 轻量数据层之路 使用篇-MProc 存储过程与SQL 视频[最后一集] H (二十八)

    2019独角兽企业重金招聘Python工程师标准>>> 说明: 本次录制主要为使用篇:CYQ.Data 轻量数据层之路 使用篇五曲 MProc 存储过程与SQL(十六)   的附加视 ...

  9. 五款轻量型bug管理工具横向测评

    五款轻量型bug管理工具横向测评 最近正在使用的本地bug管理软件又出问题了,已经记不清这是第几次了,每次出现问题都要耗费大量的时间精力去网上寻找解决方案,劳心劳力.为了避免再次出现这样的情况,我决定 ...

随机推荐

  1. 【ubuntu】给新装好的UBUNTU系统配置静态IP

    最近在自己装有win7系统的thinkpad电脑上,给安装了Ubuntu16.04双系统. 想在ubuntu下配置一个hadoop伪分布式,最首要的就是要给系统配置一个静态IP . 一开始我按照网上的 ...

  2. Ling之select

    select用法: 1.Dictionary<string, string>转json Newtonsoft.Json.JsonConvert.SerializeObject(dicSub ...

  3. HDU 4268 multiset

    http://acm.hust.edu.cn/vjudge/contest/123100#problem/B #include <iostream> #include <string ...

  4. final关键字介绍

    许多程序设计语言都有自己的办法告诉编译器某个数据是“常数”.常数主要应用于下述两个方面: (1) 编译期常数,它永远不会改变 (2) 在运行期初始化的一个值,我们不希望它发生变化 对于编译期的常数,编 ...

  5. python 对象属性与 getattr & setattr

    Python对象的属性可以通过obj.__dict__获得,向其中添加删除元素就可以实现python对象属性的动态添加删除的效果,不过我们应该使用更加正规的getattr和setattr来进行这类操作 ...

  6. SQL:exec sp_executesql 用法

    --這種是無效的過程 declare @sql nvarchar(500), @where nvarchar(500),@i nvarchar(64),@p nvarchar(50),@id int ...

  7. vue使用qrcode生成二维码,可以自定义大小

    1,qrcanvas-vue插件,https://gera2ld.github.io/qrcanvas-vue/#logo.只支持像素大小的二维码 2,qrcode支持移动端自定义大小二维码 &quo ...

  8. iDempiere 使用指南 绿色版一键启动测试环境

    Created by 蓝色布鲁斯,QQ32876341,blog http://www.cnblogs.com/zzyan/ iDempiere官方中文wiki主页 http://wiki.idemp ...

  9. Popularize what is heart of mobile phone?

    From: http://tech.sina.com.cn/mobile/n/2014-09-29/08399657494.shtml 只谈核数没意义 带你重新认识手机SoC 2014年09月29日  ...

  10. Azure 11 月新公布

    Azure 11 月新发布:Apple FairPlay Streaming, 应用服务(App Service), 虚拟机规模集(VMSS) Azure 媒体服务的 Apple FairPlay S ...