内容简介:Entity Framework下面简单介绍新特性。据官方介绍,最近几个月他们的工作主要集中在
Entity Framework Core 3.0 Preview 6 和 Entity Framework 6.3 Preview 6 已 发布 ,可通过 NuGet.Org 获取使用。
下面简单介绍新特性。
EF Core 3.0 Preview 6 新特性
据官方介绍,最近几个月他们的工作主要集中在 EF Core 3.0 的新 LINQ 实现 上。虽然工作尚未完成,并且许多预期的功能也尚未启用,但依然有必要发布此版本,因为如果没有将新实现集成到主分支的代码库中,团队无法取得更多进展。
查询方面的变更
preview 6 在 LINQ 的新实现方面有一些重大限制,这些限制会影响执行除最简单查询以外的任意应用程序。
临时限制:内存数据库和 Cosmos DB 供给程序在此预览版中不起作用
在切换到新实现的初始阶段,内存数据库和 Cosmos DB 供给程序的功能已损坏,如果有童鞋的代码依赖于这些程序,建议跳过 preview 6。
临时限制:查询转换的几个方面不适用于关系数据库,使用以下任何这些结构的查询很可能无法正确转换或执行
- 拥有的类型
- 收集参考预测
- GroupBy运算符
- 实体之间的平等比较
- 查询标签
- 全局查询过滤器
破坏性更改:不再在客户端上评估 LINQ 查询
这实际上是团队在 EF Core 3.0 中构建新的 LINQ 实现的主要动机之一。
在此版本的 EF Core 之前,无论在查询中的位置如何,查询中无法为 SQL 翻译的表达式在客户端上将会自动评估。这导致很难预测性能问题。这导致很难预测性能问题,特别是当谓词中使用的表达式未被翻译并且大量数据最终在客户端上被过滤时,每次我们引入新的翻译功能都会导致兼容性问题。
在新实现中,仅支持在查询的顶级投射中(top-level projection)评估客户端表达式。详情请查看 这一重大变化的完整描述 。
破坏性变更:现有的 FromSql 重载已重命名为 FromSqlRaw和FromSqlInterpolated,并且只能在查询的根目录中使用:请在更改文档中阅读 有关它的更多详细信息 。
切换到 Microsoft.Data.SqlClient
正如 最近宣布的那样 ,SQL Server 的 ADO.NET 供给程序的开发已经转移到这个新的软件包。SQL Server 的 EF Core 供给程序现在使用新软件包连接到 SQL Server 数据库。
DbContext 脚手架改进
现在支持:
- 没有 keys 的脚手架实体
- 来自数据库视图的脚手架实体
-
DbContext
脚手架来自 Azure SQL 数据仓库 -
新的
dotnet ef dbcontext script
命令生成等同于调用的 SQL 脚本的命令EnsureCreated()
-
新的程序包管理器控制台命令功能,
Get-DbContext
用于在DbContext
应用程序中展示可用的列表类型
EF 6.3 Preview 6 新特性
自 preview 5 以来的主要变更
未向 DbProviderFactories 注册时,自动定位 System.Data.SqlClient。这意味着在开始使用 EF 之前不再需要将 SqlClient 注册为解决方案(workaround)。
EF 6 测试正在向 .NET Core 传递:团队进行了基础架构的更新,以使现有的测试可在 .NET Core 上运行。这使他们能够识别和修复产品代码中的问题,以及 .NET Core 3.0 Preview 6 中尚未修复的问题。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- NPM包(模块)发布、更新、撤销发布
- 有赞灰度发布与蓝绿发布实践
- 【重磅发布】Linkis 0.10.0 版本发布
- BeetlSQL 3.0.9 发布,Idea 插件发布
- 贝密游戏 0.7.0 发布,发布斗地主
- 【重磅发布】DataSphere Studio 0.9.0 版本发布
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。