1. 程式人生 > >.NET輕量級ORM組件Dapper葵花寶典

.NET輕量級ORM組件Dapper葵花寶典

C# .NET Dapper ORM ADO.NET

一、摘要

為什麽取名叫《葵花寶典》?

從行走江湖的世界角度來講您可以理解為一本"武功秘籍",站在我們IT編程的世界角度應該叫"開發寶典"。

如果您在工作中主要接觸的是操作MySQL數據庫,但您又想學習和了解.NET輕量級ORM框架Dapper,那麽就請跟著阿笨一起學習本次的分享課《.NET輕量級ORM框架Dapper葵花寶典》。Let's Go,Do It ,Dapper For MySQL!

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

技術分享圖片

Dapper葵花寶典

二、課程適合人群範圍

問:Dapper修煉手冊和Dapper葵花寶典這兩個課程我該如何選擇?

答:結合自身需求,選擇合適就好。

2.1《.NET輕量級ORM框架Dapper修煉手冊》適合人群如下:

1、我是一個新手,主要工作面向的是MS SQL Server數據庫,那麽選擇修煉手冊一定沒錯。

2、對Dapper從沒有過了解或者了解不全面的同學,想通過學習進一步提升對Dapper的認識。

3、迫切想提高下ADO.NET實戰技術以及Transact-SQL的編寫能力。

4、詳細關於Dapper修煉手冊可以去之前阿笨公布的公開課中查看課程介紹說明。

2.2、《.NET輕量級ORM框架Dapper葵花寶典》適合人群如下:

1、我是一個新手,主要工作面向的是MySQL數據庫,那麽選擇葵花寶典一定沒錯。

2、在Dapper修煉手冊的基礎上新增一個Dapper擴展庫Dapper.SimpleCRUD。

3、如何運用Dapper操作Mysql數據庫以及Dapper如何支持多數據庫。

4、學習Dapper在實際項目常用的幾種開發架構模式。(簡單三層架構模式、工廠模式、Repository架構模式)

5、本次新增Dapper如何操作處理事務以及優雅的方式使用事務。(強烈推薦)

三、環境準備工作

3.1、mysql for windows數據庫安裝。

3.2、mysql圖形化管理工具介紹和使用。

3.3、mysql監控工具安裝和基本使用。

3.4、SqlServer測試數據庫轉換為Mysql數據庫。

1)、使用mss2sql工具將SqlServer轉換為Mysql。

2)、Navicat for MySQL 數據導入向導功能。(強烈推薦)

備註:數據導入完成後,一定記得需要重新設置建立自增長列、索引字段以及設置字段的數據類型。

3.5、T4模板引擎基本介紹和簡單使用。

四、涉及覆蓋的知識點

1、.NET程序員對MySQL數據庫的基本認識和理解以及使用。

2、如何通過使用.NET輕量級ORM框架Dapper操作MySQL數據庫。

3、Faker.Net仿照測試數據框架運用。

4、VS單元測試NuitTest運用。

5、Dapper在異步編程(Asyn Task)中的運用。

6、原生Dapper簡單的CRUD(增刪改查) 葵花寶典。(強烈推薦)

7、Dapper擴展庫Dapper.SimpleCRUD的基本使用。(強烈推薦)

8、Dapper如何通過DynamicParameters動態拼接查詢SQL修煉手冊。(強烈推薦)

9、Dapper擴展庫Dapper.SqlBuilder、UniqueNamespace.SqlBuilder葵花寶典。(強烈推薦)

10、原生Dapper高級技巧葵花寶典。(強烈推薦)

11、Dapper擴展庫Dapper-Extensions葵花寶典。(強烈推薦)

4.1、原生Dapper簡單的CRUD(增刪改查)

Insert、Insert_Batch(批量插入數據)。

Update、Delete、Exist。

GetById、GetList、GetByIds(in子句使用)。

GetListReturnDynamic(返回dynamic)。

GetListByMultiQuery(返回多結果集Tuple)。

ExecuteWithDBTransaction(本地DbTransaction事務操作)。

ExecuteWithTransactionScope(分布式TransactionScope事務操作)。

4.2、Dapper擴展庫Dapper.SimpleCRUD的基本使用

Insert、Delete、Exist、Insert_Batch

GetById、GetList

GetListPaged(獲取分頁數據,通過Dapper.SimpleCRUD自帶的RecordCount、GetListPaged函數分別獲取總記錄數和分頁數據。)

4.3、Dapper如何通過DynamicParameters動態拼接查詢SQL修煉手冊

Insert、GetListByGenreIdAndName領略DynamicParameters的風采。

SearchOrdersByPageDynamicParametersSqlBuild:獲取分頁數據(通過DynamicParameters動態拼接查詢SQL方式拼接+ ROW_NUMBER() OVER 子句分頁)。

4.4、Dapper擴展庫Dapper.SqlBuilder修煉手冊

通過SqlBuilder構造CRUD語句模板。

通過SqlBuilder內置的模板構造SELECT(查詢)、Page(分頁)語句模板。

SearchOrdersByPageDapperSqlBuilder:獲取分頁數據(通過Dapper.SqlBuilder拼接+ limit 子句分頁)。

SearchOrdersByDapperDapperSqlBuilderSqlPagingTemplates獲取分頁數據(通過Dapper.SqlBuilder內置提供的分頁模板進行分頁)。

4.5、原生Dapper高級技巧修煉手冊

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

GetOrderOneToManyBySqlBuilder:獲取訂單(一對多)通過主從表SQL語句方式。

GetOrderOneToManyByDapperQuery:獲取訂單(一對多)通過原生Dapper Query+splitOn關鍵字。

SearchOrdersByPageSqlBuild:獲取分頁數據(通過SQL語句拼接+ limit子句分頁)。

4.6、Dapper擴展庫Dapper-Extensions修煉手冊

1、Insert、Insert_Batch(批量插入數據)。

2、Update、Delete、Exist。

3、GetList:包含如下知識點:

*根據條件進行查詢(帶過濾條件和排序字段)。

*根據多組合條件進行查詢(通過IPredicate的Predicates.Group()生成過濾條件+排序字段)。

*根據多組合條件進行查詢(通過IPredicate.Add()生成過濾條件+排序字段)。

*根據多組合條件進行查詢(通過Predicate多條件復合謂詞組合生成過濾條件+排序字段,示例SQL語句:Select * From Table Where(id1=@id1 AND name2=@name2) OR (id2=@id2 AND name2=@name2)。

*根據單條件進行子查詢查詢(通過IPredicate.EXISTS()子查詢過濾條件語句+排序字段,示例語句:Select * Form Table Where Exists(Select 1 From Table Where id=@id))。

*根據多組合條件進行子查詢查詢(通過IPredicate.EXISTS()子查詢過濾條件語句+排序字段,示例語句:Select * From Table Where Exists(Select Count(1) From Table Where(id1=@id1 AND name2=@name2) OR (id2=@id2 AND name2=@name2)))。

*SearchOrdersByPageDapperExtensions:獲取分頁數據(通過提供的擴展DapperExtensions多條件組合復合謂詞IPredicate+內置的Count、Page函數)。

五、Dapper葵花寶典在線學習和演示

技術分享圖片

在線觀看地址

六、小結

1、在ADO.NET的世界裏"手冊"和"寶典"在手,暢行無阻,橫行天下。

2、希望學完此本葵花寶典後,您將會汲取到滿滿的幹貨,讓您更加的有底氣!這樣阿笨也會感到一絲絲的欣慰。

3、最後阿笨的願景:力爭通過這兩次關於Dapper的分享課後,做到目前.NET方面關於Dapper最全面的教程。為.NET的崛起阿笨做一點綿薄之力吧!

4、問:怎樣高效的學習《Dapper修煉手冊》和《Dapper葵花寶典》?

答:阿笨給出的建議是,您下載源碼後需要針對每一個測試用例進行調試和學習,這樣您才能了解和熟練的使用Dapper。

技術分享圖片

不信的話,掃一掃


.NET輕量級ORM組件Dapper葵花寶典