首页 科技开发工具 娱乐游玩工具 热门工具   APP 登录/注册 联系/合作
   
 
Entity Framework Core 8 的新特性
计划于 2023 年 11 月发布的 Entity Framework Core 8 带来了新功能以及对EF Core 7中已经引入的功能的改进。值得注意的功能包括支持未映射类型的原始 SQL 查询、延迟加载改进以及对 TimeOnly 和 DateOnly SQL Server 数据类型的支持。

EF7 已经为标量类型引入了原始 SQL 查询,但是,在 EF8 中,原始 SQL 查询现在可以返回任何未包含在实体框架模型中的可映射 CLR 类型。以这种方式执行的查询支持实体框架功能,例如参数化构造函数和映射属性。值得注意的是,不支持未映射类型与模型中其他类型之间的关系,因为未映射模型不能定义外键。

SQL 视图和函数也可以使用此方法查询,并且可以像映射表一样映射到任何 CLR 类型。

Entity Framework 8 添加了对未跟踪查询中导航属性延迟加载的支持。未跟踪查询的延迟加载属性适用于使用代理和不使用代理的延迟加载。

不过,这种方法有一些注意事项。延迟加载仅在用于执行无跟踪查询的 DbContext 被处理掉之前起作用。延迟加载同样不适用于与 DbContext 分离的实体。此外,延迟加载将始终使用同步 I/O,因为无法异步访问导航属性。

当导航属性在 EF6 应用程序中没有 virtual 关键字时,延迟加载功能将不会自动运行,从而导致错误。

在 EF Core 中,为避免常见错误,当导航属性上不存在 virtual 关键字时,代理会抛出异常。由于这种新的 EF Core 行为,EF Core 8 引入了一个选择退出功能,您可以使用该功能预先加载您明确设置为以这种方式加载的特定导航属性。

EF Core 8 for SQL Server 现在原生支持 DateOnly(映射到日期类型列)和TimeOnly(映射到时间类型列)数据类型。直到现在(在 EF Core 6 和 7 中),您只能通过安装社区 NuGet 包来使用这些类型。这两种新类型也可用于 SQL JSON 列。

中等影响的重大更改也与这些类型有关。在早期版本的 EF 中,日期和时间列类型分别被构建为 DateTime 和 TimeSpan 类型。在 EF8 中,改用新的 DateOnly 和 TimeOnly 类型映射。这只会影响使用数据库优先方法并定期重新构建其代码模型的用户。受此更改影响的用户可以使用缓解策略。

您可以从Microsoft 官方来源阅读有关 EF8 计划的更多信息,并在EF Core GitHub 问题页面上对您希望实现的功能进行投票。您可以下载EF Core 8 的最新预览版,该预览版于 2023 年 2 月 21 日作为 NuGet 包发布。它支持 .NET 6 和 .NET 7 项目。关于作者阿伦根齐奇,解决方案架构师、团队负责人和全栈 .NET 开发人员,在开发数字产品、领导开发团队和指导年轻开发人员方面拥有超过 10 年的经验。
最新文章:
所有文章资讯、展示的文字、图片、数字、视频、音频、其它素材等内容均来自网络媒体,仅供学习参考。内容的知识产权归属原始著作权人所有。如有侵犯您的版权,请联系我们并提供相应证明,本平台将仔细验证并删除相关内容。
工具综合排行榜
TOP 1
双计算器 双计算器
同时用两个计算器,用于价格对比、数字分别计算等
TOP 2
推算几天后的日期 推算几天后的日期
推算从某天开始,增加或减少几天后的日期
TOP 3
随机密码生成 随机密码生成
随机生成安全复杂的密码,自由设置密码长度及复杂度
TOP 4
推算孩子的血型 推算孩子的血型
根据父母的血型推测子女的血型
TOP 5
日期转中文大写 日期转中文大写
把数字日期转成中文大写,是财务或商务合同常用的工具
热门内容:       双计算器       推算孩子的血型       随机密码生成       日期转中文大写       推算几天后的日期       达轻每日一景       高校分数线       高校查询       周公解梦大全
首页 科技开发工具大全
娱乐游玩工具大全
登录/注册
联系我们
  用户咨询/建议
kf@ss3316.com


商务合作/推广
hz@ss3316.com

达轻工具 APP

访问手机版网站
使用本平台必读并同意:任何内容仅供谨慎参考,不构成建议,不保证正确,平台不承担任何责任,同意用户协议隐私政策   
BaiduTrust安全认证签章
© 达轻科技 版权所有 增值电信业务经营许可证 ICP备 沪B2-20050023-3