亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

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

2019-10-29 19:59:17
字體:
來源:轉載
供稿:網友

前言:

Dapper是一款輕量級ORM工具。如果你在小的項目中,使用Entity Framework、NHibernate 來處理大數據訪問及關系映射,未免有點殺雞用牛刀。你又覺得ORM省時省力,這時Dapper 將是你不二的選擇。

對象關系映射(ORM)已經被使用了很長時間,以解決在編程過程中對象模型與數據模型在關系數據庫中不匹配的問題。

Dapper是由Stack OverFlow團隊開發的開源的,輕量級的ORM.相比于其他的ORM框架,Dapper速度非常快。

Dapper的設計考慮到了性能以及易用性。它支持使用事務,存儲過程或數據批量插入的靜態和動態對象綁定。

本文將給大家詳細介紹關于C#使用Dapper的相關內容,下面話不多說了,來一起看看詳細的介紹吧

下載和安裝Dapper:

要開始使用Dapper,請遵循以下步驟:

1.打開Visual Studio

2.點擊文件(File)->新建(New)->項目(Project)
3.從新建項目對話框中選擇Web->ASP.Net Web Application

4.為項目指定一個名稱

5.選擇空項目模板

6.點擊“確定”

以上將創建一個空的ASP.Net應用程序項目。

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

在.NET中使用Dapper進行CRUD操作:

現在讓我們寫一些代碼,使用Dapper對數據庫進行CRUD操作,首先創建一個名為“IDG”的數據庫,它包含一個名為“Author”的表,表中包含以下字段:ID,FirstName,LastName。

然后我們需要創建一個實體類(POCO類),下面是與數據庫IDG中Author表相對應的實體類Author:

public class Author {  public int Id { get; set; }  public string FirstName { get; set; }  public string LastName { get; set; } }

Dapper中的擴展方法Query()能夠讓你從數據庫中檢索數據并填充到對象模型中。

下面的方法是從Author表中檢索所有記錄,并存儲到內存中,最后返回一個集合:

public List<Author> ReadAll()  {   using (IDbConnection db = new SqlConnection(ConfigurationManager.ConnectionStrings["AdventureWorks"].ConnectionString))   {    return db.Query<Author>    ("Select * From Author").ToList();   }  }

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

using Dapper;

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

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()方法可以用于向數據庫中插入,更新,刪除數據。這個方法會返回一個整數,表示在執行查詢時受到影響的行數。

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

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()方法返回受影響的行數,也就是已更新的記錄數,在本例中只會更新一條記錄,所以方法成功時將會返回1.

存儲過程在Dapper中的使用:

要使用Dapper處理存儲過程,需在調用Query()或者Exectue()方法時顯示地提到命令類型。下面的示例演示了如何使用Dapper來處理存儲過程:

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也支持事務,例如,如果需要我們可以使用事務操作,為此,你可以利用BeginTransaction() and EndTransaction()方法,就像通常在ADO.NET中處理事務一樣,然后,您需要在BeginTransaction()和EndTransaction()方法調用中編寫事務語句。

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

這是我翻譯的國外的一篇文章,旨在提升自己的英語水平,以及加深自己對知識點的積累,如果能幫助到一些小伙伴那就再好不過了。

原文鏈接:

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

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产欧美一区二区三区视频| 国产精品影片在线观看| 欧美做爰性生交视频| 亚洲精品日韩久久久| 久久久久久久久久婷婷| 国产日韩中文在线| 亚洲一区国产精品| 欧美亚州一区二区三区| 在线观看中文字幕亚洲| 国产精品老女人视频| 一夜七次郎国产精品亚洲| 欧美日韩国产精品一区二区不卡中文| 欧美日韩国产综合视频在线观看中文| 亚洲aⅴ日韩av电影在线观看| 国产经典一区二区| 永久免费看mv网站入口亚洲| 亚洲黄页网在线观看| 亚洲精品成人久久电影| 欧美激情手机在线视频| 欧美在线中文字幕| 色婷婷**av毛片一区| 中文字幕亚洲欧美日韩在线不卡| 久久手机精品视频| 欧美在线视频一二三| 欧美成在线视频| 欧美日韩免费一区| 日韩一区二区福利| 日韩电影网在线| 亚洲精品视频在线播放| 尤物九九久久国产精品的特点| 日韩精品中文字幕视频在线| 久久久久久97| 日韩二区三区在线| 亚洲视频免费一区| 萌白酱国产一区二区| 1769国产精品| 久久中文字幕一区| 日韩在线视频二区| 欧美日韩国产精品一区| 92福利视频午夜1000合集在线观看| 欧美一级免费视频| 国产在线视频91| 青青青国产精品一区二区| 亚洲国产精品一区二区久| 亚洲成人精品久久| 色天天综合狠狠色| 国产成人在线视频| 91美女片黄在线观| 国产日韩欧美视频| 自拍偷拍免费精品| 日韩成人久久久| 国产精品视频久| 国产精品久久久久久久久男| 欧美电影免费观看电视剧大全| 欧美午夜xxx| www.美女亚洲精品| 欧美精品激情blacked18| 丝袜美腿精品国产二区| 国产精品美女在线观看| 亚洲精品一区av在线播放| 欧美一区二区三区四区在线| xxxx欧美18另类的高清| 国产精品都在这里| 欧美大尺度电影在线观看| 亚洲视频日韩精品| 欧美成人四级hd版| 欧美一级淫片播放口| 91午夜理伦私人影院| 国产手机视频精品| 91国产视频在线播放| 欧美极品少妇xxxxⅹ裸体艺术| 亚洲va久久久噜噜噜久久天堂| 国产一区二区三区在线视频| 91精品国产91久久久久久最新| 日韩成人激情视频| 91在线观看欧美日韩| 亚洲国产天堂久久国产91| 久久视频国产精品免费视频在线| 精品二区三区线观看| 91免费电影网站| 成人精品久久一区二区三区| 日韩av片永久免费网站| 欧美一级大片在线观看| 亚洲图片在线综合| 国产噜噜噜噜久久久久久久久| 欧美日韩中国免费专区在线看| 曰本色欧美视频在线| 中文字幕亚洲欧美日韩在线不卡| 欧美电影在线观看| 国产大片精品免费永久看nba| 欧美极品少妇xxxxⅹ喷水| 久久手机精品视频| 日韩性xxxx爱| 久久人人爽人人| 欧美国产欧美亚洲国产日韩mv天天看完整| 久久久精品久久久| 亚洲天堂av在线免费| 欧美成人久久久| www.久久撸.com| 亚洲视频视频在线| 成人av在线天堂| 日韩激情在线视频| 亚洲最大的网站| 成人xvideos免费视频| 尤物精品国产第一福利三区| 琪琪第一精品导航| 国产精品日韩精品| 亚洲男人天堂2023| 欧洲成人午夜免费大片| 国产精品偷伦视频免费观看国产| 欧美日韩国产综合视频在线观看中文| 色99之美女主播在线视频| 亚洲精品国产电影| 欧美一区二区三区四区在线| 一区二区欧美久久| 九九热精品视频在线播放| 国产精品电影一区| 亚洲成avwww人| 久久手机精品视频| 国产欧美日韩最新| 日产精品99久久久久久| 亚洲香蕉成视频在线观看| 久久成人这里只有精品| 国产精品视频久久久| 欧美日韩成人网| 欧美电影在线观看高清| 日韩免费视频在线观看| 韩国精品美女www爽爽爽视频| 亚洲色图美腿丝袜| 日韩中文字幕免费视频| 国产婷婷成人久久av免费高清| 日韩在线观看av| 亚洲在线一区二区| 日韩在线视频导航| 日韩欧美高清在线视频| 欧美亚洲另类视频| 中文字幕亚洲第一| 国产精品视频1区| 亚洲**2019国产| 91经典在线视频| 色先锋久久影院av| 欧美日韩激情网| 45www国产精品网站| 国产成人精品久久亚洲高清不卡| 亚洲三级黄色在线观看| 色青青草原桃花久久综合| 国产视频久久久| 庆余年2免费日韩剧观看大牛| 91高清免费视频| 黑人极品videos精品欧美裸| 成人福利网站在线观看11| 日韩精品在线视频| 国产精品免费久久久久久| 懂色av影视一区二区三区| 国产精品久久久久一区二区| 欧美激情亚洲国产| 久久久久亚洲精品成人网小说| 亚洲精品久久7777777| 亚洲美女精品成人在线视频| 亚洲最新中文字幕| 黄网站色欧美视频| 日本精品中文字幕| 亚洲欧美日本伦理| 久久成人精品一区二区三区|