博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【快速入门ORM框架之Dapper】大牛勿进系列
阅读量:6417 次
发布时间:2019-06-23

本文共 2160 字,大约阅读时间需要 7 分钟。

原文:

前言:dapper是什么?Dapper是.NET下一个micro的ORM,它和Entity Framework或Nhibnate不同,属于轻量级的,并且是半自动的。也就是说实体类都要自己写。它没有复杂的配置文件,一个单文件就可以了。

使用:在项目中nuget下载即可,dapper如何使用呢?它和EF不同,我们什么的配置都需要手写,连接配置,实体,上下文,这和ADO.NET有一点相似点。

实战:

 配置Users表

create database	TextInfoUSE TEXTINFOcreate table Users(	UserID INT IDENTITY(1,1) NOT NULL,	UserName varchar(50) Null,	Email [varchar](100) Null,	[Address] [varchar](100) Null)

 创建连接字符串

   IDbConnection说明  

//读取config中的字符串string connstr = ConfigurationManager.ConnectionStrings["CnnhoRechargePlatformConnectionString"].ToString(); //IDbConnectionIDbConnection connection = new SqlConnection(connstr);

我们都知道Sqlconnection继承了DbConnection,那我们再去DbConnection中一探究竟,发现DbConnection继承于IDbConnection,所以呢dapper就是通过这种方式进行了多数据的封装,dapper就是实现了这种接口支持多数据库的特性也就产生了!

 

Insert插入与InsertBulk

 insert:

var result = connection.Execute("insert into Users values(@UserName,@Email,@Address)",new { UserName = "zara",Email="zaranet@163.com",Address="上海浦东"});

在这里支持匿名对象传入进行插入,非常的人性化哈!你可以发现dapper我们又开始写sql了,没错,这个博主上面没有提到,我们从微软的高度封装中逃了出来?可以这么比喻!对吧。。

 insertBulk:

既然是Bulk操作,那一定是批量操作了,我们就可以把这个匿名对象编程匿名对象集合,这样就OK了

var userList = Enumerable.Range(0, 10).Select(i => new            {                Email = "zaranet@qq.com",                Address = "安徽",                UserName = "jack"            });            var result = connection.Execute("insert into Users values(@UserName,@Email,@Address)",userList);

 这样我们就插入了10个,这种操作为了demo,其道理也是非常得离谱。

Query(select)

为了查询我们定义一个UserModel

public class User    {        public int UserID { get; set; }        public string UserName { get; set; }        public string Email { get; set; }        public string Address { get; set; }    }
var query = connection.Query
("select * from Users where UserName = @userName",new { UserName = "zara" });

 

Update(Edit)

这个操作和上面的几乎没什么差别就是改了下sql

var query = connection.Query
("update Users set UserName='zzh' where UserName = @UserName",new { UserName = "zara" });

Delete

这个操作和上面也差不多,非常简单的哈。

var query = connection.Query
("delete * from Users where UserName = @UserName",new { UserName = "zara" });

好了,希望你看完本片文章会让你对dapper有一个基本的认识,如果觉得写的可以话,点个赞吧!?

 

转载地址:http://zfpra.baihongyu.com/

你可能感兴趣的文章
【2016-03-26】《修改代码的艺术》:Sprout & Wrap
查看>>
Linux命令:MySQL系列之十二--MySQL备份与还原mysqldump(重要章节)
查看>>
OpenStack Summit 2012 视频
查看>>
static和const关键字的作用
查看>>
go 读取文件
查看>>
C++标准模板库-STL库迭代器
查看>>
阿里云ECS安装 CoreOS
查看>>
LAMP(php动态扩展模块,httpd的rewrite,php错误日志,php.ini配置详解)
查看>>
下单订单绑定订单号业务场景理解后端接口的幂等性
查看>>
C/C++和Lua是如何进行通信的?
查看>>
calico与flannel对比
查看>>
Centos7 安装jdk1.7
查看>>
[Rtsp]RTSP对实时摄像头视频流进行转换(FFmpeg+FFserver)
查看>>
开发 Spring Redis 应用程序
查看>>
ZooKeeper学习专题之一:数据模型
查看>>
配置VNC服务器
查看>>
迅搜(XunSearch)+ThinkPHP5实现标题的拼音或拼音首字母缩写搜索
查看>>
WebService服务调用方法介绍
查看>>
opencv学习
查看>>
Js内存回收 === 屠龙之术?
查看>>