這邊列出三種ASP.NET Core與資料庫連線的方式
1.EF Core(Entity Framework Core)
2.ADO.NET
3.Dapper
我個人習慣是使用EF Core來跟資料庫拿資料,如果是喜歡寫ASP.NET WebFrom的同學,那就會喜歡使用ADO.NET或是Dapper。
Entity Framework是微軟為.NET開發人員所提供的物件關聯式資料存取框架,讓 .NET 開發人員使用物件來處理資料庫,而可以節省傳統使用ADO.NET需自己撰寫的資料存取程式碼的時間。並且搭配C#物件強型別錯誤檢查能力,減少程式寫錯的機會。
ADO.NET是.NET最早提供的資料庫資料存取函式庫。需要自己寫SQL查詢語法,並使用DbConnection、DbDataReader等類別,依每次連線請求手動執行Open()、Read()、Close()等方法,才能拿取資料庫資料,並且是弱型別,撰寫時間冗長,發生輸入錯誤時,比EF還要難處理。
Dapper嚴格來說依該算是一種擴充套件(?),可以幫助ADO.NET獲得強行別的能力。但是每次執行操作也是跟ADO.NET依樣冗長。
EF Core(Entity Framework Core) >>> Dapper > ADO.NET