heart 板


LINE

這是一個很好的問題!Entity Framework Core 在剛推出時(初期版本,例如 EF Core 1.0 ),為了簡化和重構 ORM 架構,捨棄了一些在 Entity Framework 6.x 中已有的功能。然 而,隨著 EF Core 的持續更新(例如 EF Core 2.x、3.x、5.x、6.x),逐漸彌補了許多功 能缺陷並引入了新的特性。 以下是一些初期版本中缺少的功能,以及後來被彌補的具體例子: --- ### **1. Lazy Loading (延遲加載)** - **缺少**:在 EF Core 1.0 時,延遲加載(Lazy Loading)功能尚未實現。 - **彌補**:延遲加載在 EF Core 2.1 中引入,允許在需要時才加載相關的資料,避免不 必要的資料庫查詢。 ```csharp var customer = dbContext.Customers.Find(1); // 不加載 Orders var orders = customer.Orders; // 這一刻才執行延遲加載 ``` --- ### **2. 支援 Group By 翻譯** - **缺少**:EF Core 初期版本的 `GroupBy` 查詢無法正確翻譯為 SQL,只能在記憶體中 執行。 - **彌補**:從 EF Core 2.1 開始,對 `GroupBy` 查詢的翻譯逐漸完善,可以直接在資料 庫層執行,提高效能。 ```csharp var results = dbContext.Orders .GroupBy(o => o.CustomerId) .Select(g => new { CustomerId = g.Key, TotalOrders = g.Count() }) .ToList(); ``` --- ### **3. 支援多模型 (Model First/Database First)** - **缺少**:EF Core 初期版本更加專注於 `Code First` 開發模式,缺乏對 `Database F irst` 的良好支援。 - **彌補**:後來的版本(例如 EF Core 2.0 及之後)引入了 Scaffold 工具,允許從現 有的資料庫生成模型。 ```bash dotnet ef dbcontext scaffold "YourConnectionString" Microsoft.EntityFrameworkC ore.SqlServer ``` --- ### **4. 支援多屬性影射 (Complex Types)** - **缺少**:初期版本不支援複雜型別(例如嵌套物件作為資料表欄位)。 - **彌補**:從 EF Core 6.0 開始支援 `Owned Entities`,允許映射複雜型別。 ```csharp modelBuilder.Entity<Customer>() .OwnsOne(c => c.Address); // Address 作為子物件屬性 ``` --- ### **5. 多資料庫提供者** - **缺少**:初期版本僅支援少數資料庫(例如 SQL Server 和 SQLite)。 - **彌補**:隨後版本中,EF Core 引入了更多的資料庫支援,如 PostgreSQL、MySQL、Co smos DB 等,使其應用範圍更為廣泛。 --- ### **6. Migration 與 Seed 數據支援** - **缺少**:EF Core 初期對 `Migration` 和 Seed 數據功能的支援不如 EF 6.x 完善。 - **彌補**:後來版本(例如 EF Core 2.x 起)改善了這些功能,讓開發者更容易管理資 料庫結構和初始化資料。 --- ### **7. 支援級聯刪除** - **缺少**:初期版本的 EF Core 未完全支援級聯刪除。 - **彌補**:在後續版本中完善了級聯刪除的機制,並允許開發者進行更多自訂。 --- ### **總結** EF Core 的早期版本簡化了一些功能,導致它在功能上未達 EF 6.x 的成熟度。然而,隨著 EF Core 的持續更新,許多缺失的功能都被彌補起來,同時它的架構更加靈活、效能也更 高。如果您對某一特定功能感興趣,或者需要進一步的範例,我隨時可以幫您補充更多細節 ! --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.138.153.224 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/heart/M.1742584953.A.57F.html







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:e-shopping站內搜尋

TOP