2024年12月15日 星期日

【.Net Core】 EF Core + Web API 實作


 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

【.Net Core】 EF Core + Web API 實作

 EF Core是Entity Framework在.Net Core使用的版本,功能幾乎相同,但具有輕巧、高擴充性以及高效能等優點,建議各位學習。 通常在.Net Core如果要用ORM的方式會有兩種選擇分別是EF Core以及Dapper。 從其他網路文章可以看到這兩種在最新...