欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

(摘)Entity Framework Core 2.1带来更好的SQL语句生成方案

程序员文章站 2022-09-24 10:39:00
微软发布了Entity Framework Core2.1,为EF开发者带来了很多期待已久的特性。EF Core 2.1增加了对SQL GROUP BY的支持,支持延迟加载和数据种子等。 EF Core 2.1的第一个重要新增特性是将GroupBy操作符翻译成包含GROUP BY子句的SQL。缺乏这 ......

微软发布了entity framework core2.1,为ef开发者带来了很多期待已久的特性。ef core 2.1增加了对sql group by的支持,支持延迟加载和数据种子等。

ef core 2.1的第一个重要新增特性是将groupby操作符翻译成包含group by子句的sql。缺乏这种支持被认为是ef core 2.0中的一个重大疏漏。

同样,对延迟加载的支持也被纳入到ef core 2.1中。为了支持延迟加载,现在实体的构造函数可以包含参数。在定义好构造函数后,ef core可以在创建实体实例时调用此构造函数。

ef core现在支持以编程方式操作包含初始数据的数据库。与ef6不同的是,“种子数据与实体类型相关联,成为模型配置的一部分”。

不过,ef core 2.0的一些未解决问题在2.1中仍然未得到解决。例如,table per type仍然是一个未解决的问题

ef的打包在本版本中得到简化,命令行工具现在是.net core sdk的一部分。开发者可以通过dotnet ef使用这些命令,并且在项目中引用它们(dotnetclitoolreference)现在不是必需的。

不过,这些命令仅支持ef core 2.0/2.1,因此如果需要支持ef core 1.0/1.1,需要小心使用这些命令。

ef core 2.1可通过安装.net core 2.1 sdk获得。由于ef core 2.1符合.net standard 2.0,因此它可在.net core 2.0和.net framework 4.6.1(或更高版本)上运行。

在从以前的版本升级时,请注意,为数据库厂商提供支持的软件包也应该要升级。使用专为ef core 2.0设计的数据库驱动程序在ef core 2.1中会出现问题,这些问题并不会马上引起人们的注意,

因此为了保险起见,最好进行更新。微软建议通过dotnet add package直接更新,以确保可以加载正确的版本。

 

原文:http://www.infoq.com/cn/news/2018/06/efcore21-release