EF Core是Entity Framework在.Net Core使用的版本,功能幾乎相同,但具有輕巧、高擴充性以及高效能等優點,建議各位學習。
通常在.Net Core如果要用ORM的方式會有兩種選擇分別是EF Core以及Dapper。
從其他網路文章可以看到這兩種在最新版的效能其實都很接近了,只是定位有點不同,以下列出我目前覺得他們的定位導向(如有錯誤歡迎打臉指正我)
EF Core:適用於簡易查詢,有 Migrations、LINQ Support以及Lazy loading等等優點
Dapper:適用於簡易查詢以及複雜查詢(各種Join或Union),原因是複雜查詢用T-SQL難度較低於用LINQ的EF Core。
網路文章提供的功能比較圖 |
例如Rico大大提到的使用EF Core 的Code First跟Migration,Dapper則拿來用複雜Query(or store procedures)
那就廢話不多說,開始來實作玩玩看
這次標的為 .Net 6 Web API + EF Core 7
首先先建立專案(範例都用預設,有其他需求再自行調整)
建立完透過Nuget安裝以下Package