首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Entity Framework Core 2.1带来更好的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直接更新,以确保可以加载正确的版本。

查看英文原文Entity Framework Core 2.1 Release Adds Improved SQL Query Generation

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址http://www.infoq.com/cn/news/2018/06/efcore21-release
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券