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

來源:互聯網
上載者:User

標籤:-o   瞭解   擷取   架構   新手   batch   dapper   uniq   turn   

一、摘要

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

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

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

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


 二、課程適合人群範圍

問: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([email protected] AND [email protected]) OR ([email protected] AND [email protected])。

*根據單條件進行子查詢查詢(通過IPredicate.EXISTS()子查詢過濾條件陳述式+排序欄位,樣本語句:Select * Form Table Where       Exists(Select 1 From Table Where [email protected]))。

*根據多組合條件進行子查詢查詢(通過IPredicate.EXISTS()子查詢過濾條件陳述式+排序欄位,樣本語句:Select * From Table Where Exists(Select Count(1) From Table Where([email protected] AND [email protected]) OR ([email protected] AND [email protected])))。

*SearchOrdersByPageDapperExtensions:擷取分頁資料(通過提供的擴充DapperExtensions多條件組合複合謂詞IPredicate+內建的Count、Page函數)。

五、Dapper葵花寶典線上學習和示範
六、小結

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

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

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

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

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


 

 

 

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.