ASP.NET教學 - Dapper 與 ADO.NET

課程創作: MIS2000 Lab

課程適合地區:全球

課程影片總長度: 5.7小時

上架日期:2019-4-16

分享課程:

課程介紹

本課程包含「一對多」的關連式資料表,對初學者來說難度較高,屬於進階課程,建議完成前面 ASP.NET MVC的課程,並具備關連式資料表的操作觀念,才能獲得較佳的學習效果。

Dapper ADO NET MIS2000Lab

ASP.NET MVC不一定需要學LINQ才能作得出來,傳統的ADO.NET與資料庫的SQL指令也能做到。

為何要學ADO.NET

ADO.NET搭配國際標準的SQL指令,可操作全世界知名的各種資料庫,不管是MySQL、Oracle、SQL Server、DB2、SyBase,都可以透過國際標準的SQL指令來存取。

Dapper ADO NET MIS2000Lab

ADO.NET程式的寫法簡潔有力,從以前的ASP、PHP、JSP,到ASP.NET的Web Form與MVC,就連Windows執行檔也可以使用它。本課程也提供一個範例,直接把ADO.NET DataReader的程式放入Windows Form執行檔的程式裡面,幾乎不用修改就能直接運作!

Dapper ADO NET MIS2000Lab

開放原始碼的ASP.NET Core,早從1.0版就支援ADO.NET,因此也可以在ASP.NET Core上運行。

綜合以上特點,可以說學會ADO.NET幾乎可以跨平台應用在各種情境上。

為何要學Dapper

在ASP.NET MVC裡面,我們自訂類別檔、ViewModel來放置資料,撰寫ADO.NET可以透過Dapper這個免費的ORM套件,無縫接軌到MVC上,直接將SQL指令從資料庫存取的資料放入類別檔、ViewModel裡面。

Dapper ADO NET MIS2000Lab

本課程也提供了兩個ADO.NET範例(讀取、寫入)讓您可以從頭學起,對已經熟悉ADO.NET的學員則不必重新學習EF、LINQ,就能沿用原本的技術,進入MVC的殿堂。

前三大程式語言

2019年Stack overflow第九次的開發者大調查,有將近9萬名開發者參與,結果顯示在現今學習SQL指令仍具有相當高的實用價值,使用者也為數眾多(前三大),非常適合學習。

Dapper ADO NET MIS2000Lab

課程特色

  • 以實作優先:減少理論說明,大量練習範例,講求從做中學。
  • 錯誤學習法:透過錯誤的範例從中學習,並找出自己的盲點。

學員見證

Dapper ADO NET MIS2000Lab

課程綱要

ADOnet1

  1. ADO.NET簡介。為什麼要學 ADO.NET?好處在哪裡?
  2. SQL指令與資料庫,歷久彌新,永不落伍的資料查詢語言
  3. ADO.NET與參數(Parameter),避免SQL Injection攻擊

ADOnet2_Select

  1. 查詢、讀取記錄,搭配SQL指令的Select
  2. ADO.NET的 SqlConnection,資料庫的連結。Web.Config設定檔
  3. ADO.NET的 SqlCommand與 DataReader的 .ExecuteReader()方法

ADOnet3

  1. 資料修改(新增、刪除、修改),搭配SQL指令的Insert Into、Delete、Update
  2. ADO.NET的 SqlCommand與 DataReader的 .ExecuteNonQuery()方法

Windows_Adonet [補充教材]

之前學過的ADO.NET程式(查詢、讀取記錄,搭配SQL指令的Select)幾乎不用修改,就能變成Windows Form視窗程式(.exe執行檔)

這個範例讓您驗證為什麼要學 ADO.NET?搭配SQL指令來做,歷久彌新,學會這一招就能用很久的時間。

ADOnet_Core [補充教材]

即使到了開放原始碼、跨平台的 .NET Core時代,這些 ADO.NET程式一樣可以運作!搭配剛上市的VS 2019,為您示範

這個範例讓您驗證為什麼要學 ADO.NET?搭配SQL指令來做,歷久彌新,學會這一招就能用很久的時間

ADOnet3_MVC List

  1. 入門課的第三天內容,改用ADO.NET之後,寫法有何異同?
  2. 觀察資料庫的操作(查詢、讀取記錄,搭配SQL指令的Select)
  3. 簡單介紹 List。VB語法為 List(Of T)。
  4. ASP.NET MVC的控制項?第三方軟體 Telerik推出的產品,比較類似前端語法搭配後端WebAPI
  5. 課後複習:ADO.NET的寫法與MVC寫法的比較。

ADOnet4_MVC Create

  1. 入門課的第三天內容,改用ADO.NET之後,寫法有何異同?
  2. 新增、刪除、修改的SQL指令(Insert Into、Delete、Update)
  3. 預告,更多精彩的在後面!

ADOnet5_Dapper1

  1. Dapper簡化了什麼?
  2. (結論)Dapper & ADO.NET寫法的比較
  3. 網站首頁、主表明細(Master-Details)。
  4. MVC的 List與 Details動作與檢視畫面。

ADOnet5_Dapper2 Create

  1. 透過Dapper來做資料新增
  2. MVC的 Create動作與檢視畫面。
  3. Dapper原廠文件與解說,以後您也可以自學。

ADOnet5_Dapper3

  1. 關連式資料表,搭配 ViewModel
  2. Dapper要做JOIN,難度高(程式碼複雜)
  3. Dapper的一對多(Multi-Mapping)。範例 IndexVM0動作

ADOnet5_Dapper4

  1. 範例 IndexVM1動作
  2. Dapper的多對多(Multi-Mapping)
  3. 範例 IndexVM2動作

ADOnet5_Dapper5

  1. SQL指令的JOIN。串連多個資料表。
  2. 透過類別檔的導覽屬性,進行串連。
  3. Dapper如何做到一對多?(程式碼複雜)
  4. 範例 Index_MultiplaMapping動作

ADOnet5_Dapper6

  1. .splitOn()是什麼意思?做什麼用?

ADOnet5_Dapper7

  1. 課後範例與練習(HomeWork)
  2. 以北風資料庫為例,自己動手試試看
  3. 對應四個資料表。

學員上課後會學到什麼或能做什麼

  • 能夠自己撰寫程式,存取資料庫。讀取資料並進行資料修改(CRUD)。
  • 學會簡單的SQL指令(Select查詢、Insert Into新增、Delete刪除等等。)
  • Dapper簡化了ADO.NET在MVC中,將查詢成果轉成「類別」的步驟。如果您也會用到ADO.NET,這門課對您很有幫助!
  • 本課程會先提供ADO.NET兩個範例(讀取、寫入)讓您可以從頭學起。

學員上課前需具備哪些軟、硬體設備或常識

  • 本課程屬於進階課程,建議完成前面 ASP.NET MVC的課程後再來學習。
  • 知道資料庫(DataBase)與簡單的 T-SQL 指令,如:CRUD。
  • 知道SQL指令的JOIN。關連式資料表。
  • Visual Studio 2015、2017 或後續新版,請下載社群版(Community 版)。
  • 建議使用 Windows 作業系統。因為 Visual Studio Code 與 Visual Studio for Mac 與教學畫面仍有許多差異。
  • SQL Server Express 版(免費)。建議使用 SQL Server 2012(Express版)或後續新版。

課程適合對象

  • 需要撰寫網頁系統、或對於網頁與資料庫的開發有興趣。
  • 希望將來進入業界寫程式,開發網頁(後端),成為(網頁後端)程式設計師的人。
  • 曾寫過 ASP、ASP.NET(Web Form)、PHP、JSP 者,現在想學習 ASP.NET MVC 5。

老師介紹

ASP.NET MVC instructor MIS2000Lab
MIS2000 Lab
  • 國立大學資管碩士畢業。
  • 微軟 MVP(2008/4/1~2017/7/1)
  • 2001 年至今,均負責網頁程式與微軟平台與技術之相關工作。
  • 資策會七年工作經歷與(南區)專任講師。
  • 撰寫 20 本以上的電腦書籍。
  • 現任職某大資通訊上市公司軟體開發團隊,擔任技術經理。
  • 2009 年起,工作之餘並在台中市電腦公會與民間補習班兼任講師。
  • 2015 年起,參與網路教學(直播、遠距教學影片)。

課程評語與問答