iT邦幫忙

2021 iThome 鐵人賽

DAY 6
1

後端工程師最必須要會的其中一個技能,就是對資料庫的操作,我相信很少有後端工程師可以完全不用學到對資料庫的操作。


那麼,以.NET開發者來說有哪些選擇呢?
首先,先來介紹

ADO.NET

最傳統的解決方法,就是使用ADO.NET來完成對資料庫的操作,首先你有幾件事情要做

  1. 開啟連線:你必須先宣告一個幫你連線到資料庫的物件,並指定連線字串給他,讓他有了目標資料庫的連線資訊,才能幫你連接資料庫
  2. 執行/查詢SQL指令:你必須寫出你要做的CRUD動作(Creat、Read、Update、Delete),這也表示你無法不去學習SQL語法,另外,如果你的資料庫是MSSQL,你可能還要會T-SQL,如果你的資料庫是Oracle,你必須要會PL SQL,如果你兩個都有接觸,那你除了兩種資料庫的SQL寫法不同要搞清楚外,你還要特別注意兩種資料庫的資料型態略有不同,以MSSSQ來說,當你是varchar型態時,如果你insert的執是空字串,那他就是空字串,但Oracle的varchar2,你如果傳入空字串,他會當成是null。
  3. 關閉連線:一個資料庫能用的連線池數量有限,因此當你用完後最好就盡快釋放資源,讓其他執行續能夠使用。

Entity Framework

簡稱EF,是微軟以ADO.NET為基底實作出的一套資料操作框架,使用上可以維持原本的下SQL指另外,最主要的功能還是在於快速產出對應的資料模型,透過強型別的開發方式減少了許多ADO.NET在runtime時才會發現的Error,在.NET Core平台上也有相對應的.NET Core版本的EF,非常推薦新手學習,但EF並不算是好學的技術,因此也建議新手除了上網找資料外也去天瓏書局買本書來看看。

Dapper

如果你覺得EF太複雜,但又想要享受EF的強型別的好處,但又不想花時間每個Table個字寫Mapping的Code,那你一定要試試Dapper。雖然無法取代功能強大的EF,但如果想要從ADO.NET快速轉換成強型別的Code,那Dapper就很適合你,他的ORM技術會自動幫你轉換欄位名稱相同的資料,讓你不需要再繼續使用DataSet、DataTable、DataRow了。

最後總結一下,這三種技術沒有哪一種可以不用學,但先後順序我會建議:ADO.NET>Dapper>EF


上一篇
Day 5. 關於.NET後端框架
下一篇
Day 7. 關於.NET新手遇到問題,我是這樣建議
系列文
新手成為軟體工程師的技能樹點法&心路歷程 11
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言