前言:
冊亨網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、成都響應式網(wǎng)站建設公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)于2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選成都創(chuàng)新互聯(lián)。
Dapper是一款輕量級ORM工具。如果你在小的項目中,使用Entity Framework、NHibernate 來處理大數(shù)據(jù)訪問及關系映射,未免有點殺雞用牛刀。你又覺得ORM省時省力,這時Dapper 將是你不二的選擇。
對象關系映射(ORM)已經(jīng)被使用了很長時間,以解決在編程過程中對象模型與數(shù)據(jù)模型在關系數(shù)據(jù)庫中不匹配的問題。
Dapper是由Stack OverFlow團隊開發(fā)的開源的,輕量級的ORM.相比于其他的ORM框架,Dapper速度非常快。
Dapper的設計考慮到了性能以及易用性。它支持使用事務,存儲過程或數(shù)據(jù)批量插入的靜態(tài)和動態(tài)對象綁定。
本文將給大家詳細介紹關于C#使用Dapper的相關內(nèi)容,下面話不多說了,來一起看看詳細的介紹吧
下載和安裝Dapper:
要開始使用Dapper,請遵循以下步驟:
1.打開Visual Studio
2.點擊文件(File)->新建(New)->項目(Project)
3.從新建項目對話框中選擇Web->ASP.Net Web Application
4.為項目指定一個名稱
5.選擇空項目模板
6.點擊“確定”
以上將創(chuàng)建一個空的ASP.Net應用程序項目。
注:如果你已經(jīng)安裝了NuGet,你可以使用NuGet來安裝Dapper->在解決方案資源管理器中選中項目,右擊項目選擇“管理Nuget包...”,找到Dapper進行安裝,成功之后就可以到下一步啦。
在.NET中使用Dapper進行CRUD操作:
現(xiàn)在讓我們寫一些代碼,使用Dapper對數(shù)據(jù)庫進行CRUD操作,首先創(chuàng)建一個名為“IDG”的數(shù)據(jù)庫,它包含一個名為“Author”的表,表中包含以下字段:ID,FirstName,LastName。
然后我們需要創(chuàng)建一個實體類(POCO類),下面是與數(shù)據(jù)庫IDG中Author表相對應的實體類Author:
public class Author { public int Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } }
Dapper中的擴展方法Query()能夠讓你從數(shù)據(jù)庫中檢索數(shù)據(jù)并填充到對象模型中。
下面的方法是從Author表中檢索所有記錄,并存儲到內(nèi)存中,最后返回一個集合:
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()方法可以用于向數(shù)據(jù)庫中插入,更新,刪除數(shù)據(jù)。這個方法會返回一個整數(shù),表示在執(zhí)行查詢時受到影響的行數(shù)。
下面的方法演示了如何用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()方法返回受影響的行數(shù),也就是已更新的記錄數(shù),在本例中只會更新一條記錄,所以方法成功時將會返回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更快的執(zhí)行速度,事實上,幾乎和ADO.NET一樣。
這是我翻譯的國外的一篇文章,旨在提升自己的英語水平,以及加深自己對知識點的積累,如果能幫助到一些小伙伴那就再好不過了。
原文鏈接:
https://www.infoworld.com/article/3025784/application-development/how-to-work-with-dapper-in-c.html
總結
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對創(chuàng)新互聯(lián)的支持。
分享名稱:在C#中如何使用Dapper詳解(譯)
當前地址:http://aaarwkj.com/article0/pcceio.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設計公司、用戶體驗、微信小程序、網(wǎng)站維護、品牌網(wǎng)站設計、移動網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)