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/cn.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灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP