日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
Dapper:輕松應(yīng)對(duì)多數(shù)據(jù)庫(kù)(dapper多數(shù)據(jù)庫(kù))

隨著互聯(lián)網(wǎng)的發(fā)展,單一的數(shù)據(jù)庫(kù)已經(jīng)無(wú)法滿足現(xiàn)代應(yīng)用的需求。很多應(yīng)用需要同時(shí)使用多個(gè)數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)不同的數(shù)據(jù),例如MySQL、PostgreSQL、SQL Server等等。這也就導(dǎo)致開(kāi)發(fā)人員需要掌握多種數(shù)據(jù)庫(kù)操作技術(shù),而且同時(shí)維護(hù)多個(gè)數(shù)據(jù)庫(kù)也需要不小的精力。

目前創(chuàng)新互聯(lián)建站已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、越城網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

在這種情況下,Dapper應(yīng)運(yùn)而生。Dapper是一個(gè)高效的.NET對(duì)象映射器,可以輕松地應(yīng)對(duì)多個(gè)數(shù)據(jù)庫(kù),讓開(kāi)發(fā)人員可以集中精力于應(yīng)用開(kāi)發(fā),而不必花費(fèi)大量時(shí)間和精力去處理數(shù)據(jù)庫(kù)相關(guān)的問(wèn)題。

一、什么是Dapper

Dapper是一個(gè)微型的對(duì)象映射器,它可以將數(shù)據(jù)庫(kù)中的數(shù)據(jù)映射為C#中的對(duì)象。Dapper支持多種數(shù)據(jù)庫(kù),包括MySQL、PostgreSQL、SQL Server等等,并且它的性能非常出眾,比Entity Framework和NHibernate等其他ORM框架要快得多。

Dapper的主要特點(diǎn)包括:

1.輕量級(jí):Dapper是一個(gè)非常小的軟件包,只有100多KB,因此在使用過(guò)程中不會(huì)給應(yīng)用程序帶來(lái)額外的開(kāi)銷(xiāo)。

2.簡(jiǎn)單:Dapper的API非常簡(jiǎn)單,很容易上手,開(kāi)發(fā)人員可以快速地理解和使用。

3.高性能:相比其他ORM框架,Dapper的性能非常出色,特別是在處理大量數(shù)據(jù)時(shí)表現(xiàn)尤為突出。

4.擴(kuò)展性強(qiáng):Dapper支持多種數(shù)據(jù)庫(kù),而且開(kāi)發(fā)人員可以通過(guò)擴(kuò)展方法輕松地定制自己的操作。

二、Dapper的使用

Dapper的使用非常簡(jiǎn)單,只需要將Dapper包添加到自己的.NET應(yīng)用程序中即可。然后在代碼中引用Dapper命名空間,就可以開(kāi)始使用Dapper的API了。下面是一個(gè)使用Dapper查詢數(shù)據(jù)庫(kù)的樣例:

using System.Data.SqlClient;

using Dapper;

var connString = “Data Source=myserver;Initial Catalog=mydatabase;User Id=myuser;Password=mypass;”;

using(var con = new SqlConnection(connString))

{

con.Open();

var sql = “SELECT * FROM Users WHERE Id = @Id”;

var user = con.QueryFirstOrDefault(sql, new {Id = 1});

}

在這個(gè)樣例中,我們先創(chuàng)建了一個(gè)SqlConnection對(duì)象,并打開(kāi)連接。然后定義了一個(gè)查詢語(yǔ)句,并使用Dapper的QueryFirstOrDefault方法來(lái)執(zhí)行查詢。QueryFirstOrDefault方法接受兩個(gè)參數(shù),之一個(gè)參數(shù)是查詢語(yǔ)句,第二個(gè)參數(shù)是一個(gè)動(dòng)態(tài)類(lèi)型的對(duì)象,用來(lái)傳遞查詢參數(shù)。在本例中,我們查詢了Id為1的用戶記錄,并使用QueryFirstOrDefault方法將查詢結(jié)果映射到了一個(gè)User對(duì)象中。

Dapper不僅支持查詢操作,還支持更新、刪除、插入等操作。下面是一個(gè)使用Dapper添加記錄的樣例:

using System.Data.SqlClient;

using Dapper;

var connString = “Data Source=myserver;Initial Catalog=mydatabase;User Id=myuser;Password=mypass;”;

using(var con = new SqlConnection(connString))

{

con.Open();

var sql = “INSERT INTO Users(Name, Age) VALUES(@Name, @Age)”;

var user = new { Name = “張三”, Age = 20 };

con.Execute(sql, user);

}

在這個(gè)樣例中,我們定義了一個(gè)插入語(yǔ)句,并使用Dapper的Execute方法來(lái)執(zhí)行插入操作。Execute方法也接受兩個(gè)參數(shù),之一個(gè)參數(shù)是操作語(yǔ)句,第二個(gè)參數(shù)是一個(gè)動(dòng)態(tài)類(lèi)型的對(duì)象,用來(lái)傳遞參數(shù)。

三、Dapper的高級(jí)用法

除了上述基本用法之外,Dapper還支持一些高級(jí)用法,可以進(jìn)一步提高開(kāi)發(fā)效率。

1.存儲(chǔ)過(guò)程支持

可以使用Dapper來(lái)調(diào)用存儲(chǔ)過(guò)程。下面是一個(gè)使用Dapper調(diào)用存儲(chǔ)過(guò)程的樣例:

using System.Data.SqlClient;

using Dapper;

var connString = “Data Source=myserver;Initial Catalog=mydatabase;User Id=myuser;Password=mypass;”;

using(var con = new SqlConnection(connString))

{

con.Open();

var result = con.Query(“MyStoredProcedure”, param: null, commandType: CommandType.StoredProcedure);

}

在這個(gè)樣例中,我們使用Dapper的Query方法來(lái)執(zhí)行存儲(chǔ)過(guò)程。Query方法也接受三個(gè)參數(shù),之一個(gè)參數(shù)是存儲(chǔ)過(guò)程名稱(chēng),第二個(gè)參數(shù)是一個(gè)動(dòng)態(tài)類(lèi)型的對(duì)象,用來(lái)傳遞參數(shù),第三個(gè)參數(shù)是命令類(lèi)型,指示執(zhí)行的是存儲(chǔ)過(guò)程還是SQL語(yǔ)句。

2.多結(jié)果集查詢支持

Dapper還支持在一次查詢中返回多個(gè)結(jié)果集。下面是一個(gè)使用Dapper查詢多個(gè)結(jié)果集的樣例:

using System.Data.SqlClient;

using Dapper;

var connString = “Data Source=myserver;Initial Catalog=mydatabase;User Id=myuser;Password=mypass;”;

using(var con = new SqlConnection(connString))

{

con.Open();

var sql = “SELECT * FROM Table1;SELECT * FROM Table2;”;

using (var multi = con.QueryMultiple(sql))

{

var table1Result = multi.Read();

var table2Result = multi.Read();

}

}

在這個(gè)樣例中,我們使用Dapper的QueryMultiple方法來(lái)執(zhí)行一個(gè)多結(jié)果集查詢。QueryMultiple方法接受一個(gè)查詢語(yǔ)句,并返回一個(gè)包含多個(gè)結(jié)果集的對(duì)象。使用Read方法可以逐個(gè)讀取每個(gè)結(jié)果集。

3.動(dòng)態(tài)查詢支持

Dapper還支持輸入動(dòng)態(tài)查詢。下面是一個(gè)使用Dapper執(zhí)行動(dòng)態(tài)查詢的樣例:

using System.Data.SqlClient;

using Dapper;

var connString = “Data Source=myserver;Initial Catalog=mydatabase;User Id=myuser;Password=mypass;”;

using(var con = new SqlConnection(connString))

{

con.Open();

var query = new { Name = “張三”, Age = 20 };

var sql = $”SELECT * FROM Users WHERE Name = {query.Name} AND Age = {query.Age}”;

var result = con.Query(sql);

}

在這個(gè)樣例中,我們使用動(dòng)態(tài)查詢生成一個(gè)查詢語(yǔ)句,并使用Dapper的Query方法來(lái)執(zhí)行查詢操作。這種方式可以很方便地生成動(dòng)態(tài)查詢,節(jié)省大量代碼。

四、

Dapper是一個(gè)輕量級(jí)、高性能的對(duì)象映射器,可以非常方便地應(yīng)對(duì)多種數(shù)據(jù)庫(kù)。Dapper的API簡(jiǎn)單易用,而且支持多種高級(jí)用法,例如存儲(chǔ)過(guò)程支持、多結(jié)果集查詢支持、動(dòng)態(tài)查詢支持等等。使用Dapper可以大大提高開(kāi)發(fā)效率,使開(kāi)發(fā)人員可以更加專(zhuān)注于業(yè)務(wù)邏輯的開(kāi)發(fā)。

相關(guān)問(wèn)題拓展閱讀:

  • C# 使用dapper ExecuteScalar object接收新增后INT主鍵 怎么多了一個(gè)M

C# 使用dapper ExecuteScalar object接收新增后INT主鍵 怎么多了一個(gè)M

你這個(gè)結(jié)果不正常,Dapper的ExecuteScalar和ado.net原侍手芹有的ExecuteScalar一樣,只是返回結(jié)果集的之一個(gè)值,如果只有一個(gè)insert語(yǔ)句,應(yīng)該返回null才對(duì)。

是不是你的語(yǔ)句老畢insert執(zhí)薯蘆行完后,又去select了什么decimal字段?

dapper多數(shù)據(jù)庫(kù)的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于dapper多數(shù)據(jù)庫(kù),Dapper:輕松應(yīng)對(duì)多數(shù)據(jù)庫(kù),C# 使用dapper ExecuteScalar object接收新增后INT主鍵 怎么多了一個(gè)M的信息別忘了在本站進(jìn)行查找喔。

創(chuàng)新互聯(lián)網(wǎng)絡(luò)推廣網(wǎng)站建設(shè),網(wǎng)站設(shè)計(jì),網(wǎng)站建設(shè)公司,網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì),1500元定制網(wǎng)站優(yōu)化全包,先排名后付費(fèi),已為上千家服務(wù),聯(lián)系電話:13518219792


當(dāng)前題目:Dapper:輕松應(yīng)對(duì)多數(shù)據(jù)庫(kù)(dapper多數(shù)據(jù)庫(kù))
轉(zhuǎn)載來(lái)源:http://www.dlmjj.cn/article/djooech.html