国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - C# - 在C#中如何使用Dapper詳解(譯)

在C#中如何使用Dapper詳解(譯)

2022-02-28 14:30yixuan.han C#

這篇文章主要給大家介紹了關(guān)于在C#中如何使用Dapper的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起看看吧

前言:

Dapper是一款輕量級(jí)ORM工具。如果你在小的項(xiàng)目中,使用Entity Framework、NHibernate 來(lái)處理大數(shù)據(jù)訪問(wèn)及關(guān)系映射,未免有點(diǎn)殺雞用牛刀。你又覺(jué)得ORM省時(shí)省力,這時(shí)Dapper 將是你不二的選擇。

對(duì)象關(guān)系映射(ORM)已經(jīng)被使用了很長(zhǎng)時(shí)間,以解決在編程過(guò)程中對(duì)象模型與數(shù)據(jù)模型在關(guān)系數(shù)據(jù)庫(kù)中不匹配的問(wèn)題。

Dapper是由Stack OverFlow團(tuán)隊(duì)開(kāi)發(fā)的開(kāi)源的,輕量級(jí)的ORM.相比于其他的ORM框架,Dapper速度非常快。

Dapper的設(shè)計(jì)考慮到了性能以及易用性。它支持使用事務(wù),存儲(chǔ)過(guò)程或數(shù)據(jù)批量插入的靜態(tài)和動(dòng)態(tài)對(duì)象綁定。

本文將給大家詳細(xì)介紹關(guān)于C#使用Dapper的相關(guān)內(nèi)容,下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧

下載和安裝Dapper:

要開(kāi)始使用Dapper,請(qǐng)遵循以下步驟:

1.打開(kāi)Visual Studio

2.點(diǎn)擊文件(File)->新建(New)->項(xiàng)目(Project)
3.從新建項(xiàng)目對(duì)話框中選擇Web->ASP.Net Web Application

4.為項(xiàng)目指定一個(gè)名稱

5.選擇空項(xiàng)目模板

6.點(diǎn)擊“確定”

以上將創(chuàng)建一個(gè)空的ASP.Net應(yīng)用程序項(xiàng)目。

注:如果你已經(jīng)安裝了NuGet,你可以使用NuGet來(lái)安裝Dapper->在解決方案資源管理器中選中項(xiàng)目,右擊項(xiàng)目選擇“管理Nuget包...”,找到Dapper進(jìn)行安裝,成功之后就可以到下一步啦。

在.NET中使用Dapper進(jìn)行CRUD操作:

現(xiàn)在讓我們寫一些代碼,使用Dapper對(duì)數(shù)據(jù)庫(kù)進(jìn)行CRUD操作,首先創(chuàng)建一個(gè)名為“IDG”的數(shù)據(jù)庫(kù),它包含一個(gè)名為“Author”的表,表中包含以下字段:ID,FirstName,LastName。

然后我們需要?jiǎng)?chuàng)建一個(gè)實(shí)體類(POCO類),下面是與數(shù)據(jù)庫(kù)IDG中Author表相對(duì)應(yīng)的實(shí)體類Author:

?
1
2
3
4
5
6
public class Author
 {
  public int Id { get; set; }
  public string FirstName { get; set; }
  public string LastName { get; set; }
 }

Dapper中的擴(kuò)展方法Query()能夠讓你從數(shù)據(jù)庫(kù)中檢索數(shù)據(jù)并填充到對(duì)象模型中。

下面的方法是從Author表中檢索所有記錄,并存儲(chǔ)到內(nèi)存中,最后返回一個(gè)集合:

?
1
2
3
4
5
6
7
8
public List<Author> ReadAll()
  {
   using (IDbConnection db = new SqlConnection(ConfigurationManager.ConnectionStrings["AdventureWorks"].ConnectionString))
   {
    return db.Query<Author>
    ("Select * From Author").ToList();
   }
  }

注意需要在程序中包含Dapper命名空間,才能使用Dapper:

?
1
using Dapper;

下面的方法演示了如何從Auhor表中檢索特定的一條記錄:

?
1
2
3
4
5
6
7
public Author Find(int id)
  {
   using (IDbConnection db = new SqlConnection(ConfigurationManager.ConnectionStrings["AdventureWorks"].ConnectionString))
   {
    return db.Query<Author>("Select * From Author WHERE Id = @Id", new { id }).SingleOrDefault();
   }
  }

Dapper中的Execute()方法可以用于向數(shù)據(jù)庫(kù)中插入,更新,刪除數(shù)據(jù)。這個(gè)方法會(huì)返回一個(gè)整數(shù),表示在執(zhí)行查詢時(shí)受到影響的行數(shù)。

下面的方法演示了如何用Dapper更新一條記錄:

?
1
2
3
4
5
6
7
8
9
10
public int Update(Author author)
  {
   using (IDbConnection db = new SqlConnection(ConfigurationManager.ConnectionStrings["AdventureWorks"].ConnectionString))
   {
    string sqlQuery = "UPDATE Author SET FirstName = @FirstName, " +
    " LastName = @LastName “ + “WHERE Id = @Id";
    int rowsAffected = db.Execute(sqlQuery, author);
    return rowsAffected;
   }
  }

正如以上代碼所看到的,Update()方法返回受影響的行數(shù),也就是已更新的記錄數(shù),在本例中只會(huì)更新一條記錄,所以方法成功時(shí)將會(huì)返回1.

存儲(chǔ)過(guò)程在Dapper中的使用:

要使用Dapper處理存儲(chǔ)過(guò)程,需在調(diào)用Query()或者Exectue()方法時(shí)顯示地提到命令類型。下面的示例演示了如何使用Dapper來(lái)處理存儲(chǔ)過(guò)程:

?
1
2
3
4
5
6
7
8
public List<Author> Read()
  {
   using (IDbConnection db = new SqlConnection(ConfigurationManager.ConnectionStrings["AdventureWorks"].ConnectionString))
   {
    string readSp = "GetAllAuthors";
    return db.Query<Author>(readSp, commandType: CommandType.StoredProcedure).ToList();
   }
  }

Dapper也支持事務(wù),例如,如果需要我們可以使用事務(wù)操作,為此,你可以利用BeginTransaction() and EndTransaction()方法,就像通常在ADO.NET中處理事務(wù)一樣,然后,您需要在BeginTransaction()和EndTransaction()方法調(diào)用中編寫事務(wù)語(yǔ)句。

Dapper非常輕且使用起來(lái)非常簡(jiǎn)單,它不會(huì)為你生成SQL,但是可以很容易地將查詢結(jié)果映射到POCOs(普通的舊CLR對(duì)象).最重要的是,你可以獲得比EntityFrameWork更快的執(zhí)行速度,事實(shí)上,幾乎和ADO.NET一樣。

這是我翻譯的國(guó)外的一篇文章,旨在提升自己的英語(yǔ)水平,以及加深自己對(duì)知識(shí)點(diǎn)的積累,如果能幫助到一些小伙伴那就再好不過(guò)了。

原文鏈接:

https://www.infoworld.com/article/3025784/application-development/how-to-work-with-dapper-in-c.html

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)服務(wù)器之家的支持。

原文鏈接:https://www.cnblogs.com/yixuanhan/p/9234004.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精品国产欧美 | 欧洲亚洲精品久久久久 | 国产精品一区电影 | 精品国产视频 | 韩日一区二区三区 | 亚洲一区精品在线 | 日韩一区二区在线电影 | 精品久久av | 亚洲高清av| 国产日韩欧美在线 | 日本大人吃奶视频xxxx | 免费久久99精品国产婷婷六月 | 午夜看片网站 | 国产精品精品 | 国产偷窥老熟盗摄视频 | 一级久久久 | 亚洲国产视频一区二区 | 亚洲自拍偷拍精品 | 国产精品永久 | 99久久国产露脸国语对白 | 91在线 | 亚洲| 欧美日韩不卡合集视频 | 欧美一区二区三区在线播放 | 毛片视频免费 | 欧美日韩综合 | 国产精品成人av | 国产精品自拍视频网站 | 国产精品视频一区二区三区四 | 精品国产精品三级精品av网址 | 一本大道综合伊人精品热热 | 一级毛片视频 | 成人精品视频一区二区三区 | 欧美一区二区三区久久 | 亚洲国产精品久久久久 | 欧美精品在线一区二区三区 | 国产成人精品一区二区 | 成人欧美一区二区三区在线播放 | 日本午夜视频 | 免费午夜视频 | 中文字幕在线观看日韩 | 久久99精品视频 |