Entity Framework 现已被广泛使用,微软首席软件工程经理 Arthur Vickers 日前在一个在线社区会议上的发言。
Entity Framework Core 8.0(也称为 EF Core 8 或 EF8)的未来规划。EF Core 8 是 EF Core 7 之后的下一个版本,这将是一个长期支持版本;计划于 2023 年 11 月与 .NET 8 同时发布。该公司表示,暂时没有发布 EF Core 7.1 的计划 。
EF8 将主要关注以下方面:
- 高度要求的功能
- JSON 列:建立在 EF7 JSON 支持的基础上,进一步支持 document/relational 混合模式。在 EF8 中计划为 SQLite 提供支持,并与其他 providers 的所有者合作,以调整所有 providers 对 JSON 列的支持。
- 值对象:应用程序可以在 EF 模型中使用 DDD 样式的值对象。在 EF8 中计划引入更好的体验,专注于领域驱动设计中价值对象的需求。这种方法将基于价值转换器而不是拥有的实体。
- 云原生和设备
- AOT and trimming with EF Core:小型、快速启动的 EF Core 应用程序,没有动态代码生成。
- AOT and trimming for ADO.NET:Low-level 数据访问可用于云原生应用程序。
- 性能:Woodstar 将是在 .NET 8 timeframe 内进行的主要性能推动。同时,微软方面也计划在其他一些领域开展性能工作,如上述的 JSON 列中。此外,关于 AOT 和 trimming 的工作也与性能有很大关系。
- Woodstar:为 .NET 应用程序快速、完全托管地访问 SQL Server 和 Azure SQL。开发团队计划在 .NET 8 timeframe 内加大对 Woodstar 的投资,暂定目标是在发布结束时使用 Woodstar 运行 TechEmpower Fortunes 基准测试。值得注意的是,对 Microsoft.Data.SqlClient 的投入不会改变。它将继续作为连接到 SQL Server 和 Azure SQL 的推荐方式,无论是否使用 EF Core。它将继续支持引入的新 SQL Server 功能。
- Visual Tooling
- Visual Studio 中 First-class T4 templates:在 Visual Studio 中跨多个区域利用 T4 templating。计划为 Visual Studio 带来更好的 T4 编辑体验,以便它可以用于 EF 和其他模板。
- Visual Studio 中的 EF Core Database First:Visual Studio 中开箱即用的 Database First 工具。计划使 EF Core 工具在 Visual Studio 中易于发现。这项工作的主要重点是从现有数据库构建(逆向工程)EF 模型,也称为 “Database First”,但也可能包括其他领域。
- 开发者体验:EF8 计划的大部分工作涉及在多个领域以许多小的方式改进开发人员体验。
参考:
Breaking changes in EF Core 7.0 (EF7) - EF Core | Microsoft Learn
Plan for Entity Framework Core 8 | Microsoft Learn