BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Jeff Martin 关注 16 他的粉丝 ,译者 无明 关注 0 他的粉丝 发布于 2018年6月6日. 估计阅读时间: 2 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

微软发布了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账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

支持支持 by 腩 牛

支持支持

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT