標籤:

.NET輕量級DBHelpers數據訪問組件

一、摘要

一說到ADO.NET大家可能立刻想到的就是增、刪、改、查(CRUD)操作,然後再接就想到項目中的SQLHelper。沒錯本課分享課阿笨給大家帶來的是來源於github上開源的DAO資料庫訪問組件DBHelpers。如果您對本次分享《.NET輕量級DBHelpers數據訪問組件》課程感興趣的話,那麼請跟著阿笨一起學習吧。

廢話不多說,直接上乾貨,我們不生產乾貨,我們只是乾貨的搬運工。

二、涉及覆蓋的知識點

2.1、原生ADO.NET簡單的CRUD(增刪改查)

Insert、Insert_Batch、Update、Update_Batch、Delete、Exist、GetById、GetByIds、GetList

GetByIdAutomaticTypeConversion、GetListByPage(內置分頁)、GetListReturnDataTable

GetListReturnDataSet、GetListReturnDictionary、

ExecuteWithDBTransaction(本地DbTransaction事務操作)、

ExecuteWithTransactionScope(分散式TransactionScope事務操作)

2.2、ADO.NET在非同步編程(Asyn Task)中的運用

InsertAsync、GetByIdAsync、GetListAsync

ExecuteNonQueryAsync、ExecuteObjectAsync、ExecuteListAsync

2.3、原生ADO.NET高級技巧修鍊手冊

CreateOrder(創建訂單(採用sql拼接+for循環方式))。

CreateOrderByStoredProcedures_XMLPath創建訂單(採用生成XML+SQL XML數據類型的XMLPath方式)。

Transact-SQL存儲過程in輸入、out輸出、Return參數的運用。

三、什麼是ADO.NET

1)、ADO.NET是微軟新一代.NET資料庫的訪問架構,ADO是ActiveX Data Objects的縮寫。ADO.NET是資料庫應用程序和數據源之間溝通的橋樑,主要提供一個面向對象的數據訪問架構,用來開發資料庫應用程序。

2)、ADO.NET 是 .NET 框架(.NET Framework)中的一個類庫,用於實現 .NET 應用程序對於資料庫的訪問,主要包括 DbConnection,DbCommand,DataSet,DataAdapter 與 DataReader 等。

3)、ADO.NET五大對象分別是:

1、Connection(連接資料庫)

2、Command(執行T-SQL語句)

3、DataAdapter(用戶填充DataSet,斷開模式)

4、DataReader(讀取資料庫,一種只讀模式,只向前的)

5、DataSet(數據集,好比電腦的內存)

ADO.NET五大對象

四、DBHelpers介紹

4.1、DBHelpers是什麼?

DBHelpers是一個簡單但功能強大的庫,用於使用簡單的ADO.NET資料庫訪問組件。

4.2、DBHelpers包含哪些特徵

Async(非同步)、Batch execution(批量執行腳本)、Custom converters(自定義類型轉換)、

Multi table retrieval(多結果集查詢)、Easy safe parameterized DbCommand(簡單安全的參數化)、

Automatic mapping of objects(自動映射類型)、Built in paging support(內置支持分頁)、等等。

4.3、DBHelpers內置方法

ExecuteNonQuery、ExecuteReader、ExecuteScalar、

ExecuteDataTable、ExecuteDataSet、ExecuteArray、ExecuteDictionary、ExecuteObject、ExecuteList、

ExecuteNonQueryAsync、ExecuteObjectAsync、ExecuteListAsync

4.3、github下載地址:

github.com/nvivo/dbhelp

4.4、nuget安裝:

Install-Package DBHelpers

五、DBHelpers在線學習和演示

六、小結

如果您想更進一步的在ADO.NET的世界裡暢行無阻,橫行天下,那麼阿笨推薦您學習另外兩套課程《.NET輕量級ORM框架Dapper修鍊手冊》和《.NET輕量級ORM框架Dapper葵花寶典》。

阿笨希望帶來的自己對ADO.NET編程技術的一些理解和認識吧,力爭將DAO技術的真真乾貨內容分享給大家。這就是阿笨的課程與市面上最大的不同點,"理論+實戰相結合"+"從實戰從來到實戰中去",學完後直接將學習成果運用到實際項目中去!

推薦閱讀:

如何用C++從API開始,寫一款Windows上的視頻播放器?
C++ 03和C++11的vector在調用元素的構造函數時有什麼區別?
學習 OpenGL 用哪個版本好?
C++中static函數模板該怎麼寫?

TAG:C | NET | ORM |