【快速入門ORM框架之Dapper】大牛勿進系列


前言:dapper是什么?Dapper是.NET下一個micro的ORM,它和Entity Framework或Nhibnate不同,屬於輕量級的,並且是半自動的。也就是說實體類都要自己寫。它沒有復雜的配置文件,一個單文件就可以了。

使用:在項目中nuget下載即可,dapper如何使用呢?它和EF不同,我們什么的配置都需要手寫,連接配置,實體,上下文,這和ADO.NET有一點相似點。

實戰:

 配置Users表

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

 創建連接字符串

<connectionStrings>
    <add name="CnnhoRechargePlatformConnectionString" connectionString="Data Source=DESKTOP-OEJGKOO;Initial Catalog=TextInfo;Integrated Security=True"/>
  </connectionStrings>

   IDbConnection說明  

//讀取config中的字符串
string connstr = ConfigurationManager.ConnectionStrings["CnnhoRechargePlatformConnectionString"].ToString();
 //IDbConnection
IDbConnection 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<User>("select * from Users where UserName = @userName",new { UserName = "zara" });

 

Update(Edit)

這個操作和上面的幾乎沒什么差別就是改了下sql

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

Delete

這個操作和上面也差不多,非常簡單的哈。

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

好了,希望你看完本片文章會讓你對dapper有一個基本的認識,如果覺得寫的可以話,點個贊吧!👍

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM