(摘)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直接更新,以确保可以加载正确的版本。

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

原文地址:https://www.cnblogs.com/mlinber/p/9782834.html

时间: 2024-08-29 19:24:51

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

全球首发免费的MySql for Entity Framework Core

from:http://www.1234.sh/post/pomelo-data-mysql?utm_source=tuicool&utm_medium=referral Source 源代码在GitHub中以MIT协议开源: Pomelo.Data.MySql Pomelo.EntityFrameworkCore.MySql Background 一时兴起,想实现.NET Core下的MySQL ADO层和与Entity Framework Core对接,同时也是非常鄙视某厂商借着目前Orac

使用Visual Studio开发ASP.NET Core MVC and Entity Framework Core初学者教程

原文地址:https://docs.asp.net/en/latest/data/ef-mvc/intro.html The Contoso University sample web application demonstrates how to create ASP.NET Core 1.0 MVC web applications using Entity Framework Core 1.0 and Visual Studio 2015. Contoso University网络应用的案

ASP.NET Core 1.0、ASP.NET MVC Core 1.0和Entity Framework Core 1.0

ASP.NET 5.0 将改名为 ASP.NET Core 1.0 ASP.NET MVC 6  将改名为 ASP.NET MVC Core 1.0 Entity Framework 7.0    将改名为 Entity Framework Core 1.0 .NET新的跨平台版本将命名为.NET Core 1.0 新版本的ASP.NET和Entity Framework有一个严重的问题,就是它们同以前的版本不兼容.这不只是行为或API稍有差异的事,而基本上是进行了完全的重写,去掉了大量的功能.

NET Core & Entity Framework Core

本文是ABP官方文档翻译版,翻译基于 3.2.5 版本 官方文档分四部分 一. 教程文档 二.ABP 框架 三.zero 模块 四.其他(中文翻译资源) 本篇是第一部分的第一篇. 第一部分分三篇 1-1 手把手引进门 1-2 进阶 1-3 杂项 (相关理论知识) 第一篇含两个步骤. 1-1-1 ASP.NET Core & Entity Framework Core 后端(内核)含两篇 (第二篇链接) 1-1-2 ASP.NET MVC, Web API, EntityFramework &

Entity Framework Core 2.0 入门简介

不多说废话了, 直接切入正题. EF Core支持情况 EF Core的数据库Providers: 此外还即将支持CosmosDB和 Oracle. EFCore 2.0新的东西: 查询: EF.Functions.Like() Linq解释器的改进 全局过滤(按类型) 编译查询(Explicitly compiled query) GroupJoin的SQL优化. 映射: Type Configuration 配置 Owned Entities (替代EF6的复杂类型) Scalar UDF映

Entity Framework Core系列之什么是Entity Framework Core

前言 Entity Framework Core (EF Core)是微软推荐的基于.NET Core framework的应用程序数据访问技术.它是轻量级,可扩展并且支持跨平台开发.EF Core是一种对象关系映射器(ORM).通过应用程序实体对象和关系数据库中的数据的映射,使得开发人员能够以面向对象的方式处理数据. 为什么使用ORM 大多数开发框架都包含库,这些库允许通过类似记录集的数据结构访问关系数据库中的数据.下面的代码示例演示了一个典型的场景,即数据从数据库中检索并存储在ADO.NET

[转帖]2016年时的新闻:ASP.NET Core 1.0、ASP.NET MVC Core 1.0和Entity Framework Core 1.0

http://www.cnblogs.com/webapi/p/5673104.html ASP.NET 5.0 将改名为 ASP.NET Core 1.0 ASP.NET MVC 6  将改名为 ASP.NET MVC Core 1.0 Entity Framework 7.0    将改名为 Entity Framework Core 1.0 .NET新的跨平台版本将命名为.NET Core 1.0 新版本的ASP.NET和Entity Framework有一个严重的问题,就是它们同以前的版

Entity Framework Core系列教程-6-查询数据

Entity Framework Core中的查询 Entity Framework Core中的查询与EF 6.x中的查询相同,但具有更优化的SQL查询,并且能够将C#/ VB.NET函数包含在LINQ到实体查询中. Entity Framework Core 允许你在模型中使用导航属性来加载相关实体. 有三种常见的 O/RM 模式可用于加载关联数据: Eager loading (预先加载): 表示从数据库中加载关联数据,作为初始查询的一部分. Explicit loading(显式加载):

使用Entity Framework Core需要注意的一个全表查询问题

.NET Core 迁移工作如火如荼,今天在使用 Entity Frameowork Core(又名EF Core)时写了下面这样的 LINQ 查询表达式: .Where(u => u.Id == new Guid(userId)).FirstOrDefaultAsync(); 结果在 SQL Server Profiler 中发现竟然进行了全表查询. 之后将 new Guid(userId) 从表达式中移出,保存于一个局部变量中,使用这个局部变量进行查询,全表查询问题就解决了. var use