Entity Framework Core 3.0 和 Entity Framework 6.3 发布

栏目: 软件资讯 · 发布时间: 5年前

内容简介:EF Core 3.0 Preview 7 and EF 6.3 Preview 7已经发布,根据官方博文,下面是更新内容: EF Core 3.0 Preview 7 新特性: 查询改进:在完成的新 LINQ 实现方面取得了很大的进展。例如,GroupBy、拥有类型的自动包...

EF Core 3.0 Preview 7 and EF 6.3 Preview 7已经发布,根据官方博文,下面是更新内容:

EF Core 3.0 Preview 7 新特性:

  • 查询改进:在完成的新 LINQ 实现方面取得了很大的进展。例如,GroupBy、拥有类型的自动包含和查询标记的转换现在又起作用了。另外,在 EF Core 中,首次支持 LINQ 集操作符的 SQL 翻译,如 UNION、CONAT、Intersecect 和 EXT。
  • 其他主要新特性:Preview 7 还包含一个新的 API,用于拦截数据库操作。这与 EF 6 中存在的截取功能非常相似,它允许编写简单的逻辑,只要打开数据库连接、提交事务或执行查询,EFCore 就会自动调用该逻辑。拦截器通常允许在操作发生之前或之后拦截它们。当在它们发生之前拦截它们时,可以旁路执行并提供截取逻辑的备用结果。

例如,要操作命令文本,创建一个 IDbCommandInterceptor:

public class MyCommandInterceptor : DbCommandInterceptor
{
    public override InterceptionResult? ReaderExecuting(
        DbCommand command, 
        CommandEventData eventData, 
        InterceptionResult? result)
    {
        // Manipulate the command text, etc. here...
        command.CommandText = command.CommandText...
        return result;
    }
}

Entity Framework Core 3.0 和 Entity Framework 6.3 发布Entity Framework Core 3.0 和 Entity Framework 6.3 发布

并将其注册到 DbContext 中:

services.AddDbContext(b =>
    b.UseSqlServer(connectionString)
     .AddInterceptors(new MyCommandInterceptor()));

Entity Framework Core 3.0 和 Entity Framework 6.3 发布Entity Framework Core 3.0 和 Entity Framework 6.3 发布

  • 获取 Preview 7 运行时和工具:EF Core 3.0 是专门作为 NuGet 包分发的。与以往相同,通过 NuGet 用户界面、Visual Studio 中的 Package Manager 控制台或 DotNet Add Package 命令对 Preview 7 添加或升级 runtime 。在所有情况下,包括允许安装预发布版本的选项。在 3.0 中,DotNet ef CLI 工具不再作为 .NET Core SDK 的一部分发布,因此在执行迁移或 Scanffold 命令之前,必须将其安装为全局 工具 或本地工具。由于 DotNet CLI 工具的限制,安装预览工具需要在安装命令中指定预览版本的至少一部分,例如,要将 DotNet ef 3.0 预览安装为全局工具,通过运行:
$ dotnet tool install --global dotnet-ef --version 3.0.0-*

Entity Framework Core 3.0 和 Entity Framework 6.3 发布Entity Framework Core 3.0 和 Entity Framework 6.3 发布

 EF 6.3 Preview 7 新特性:

在此预览中,完成了 EF 6.3 包在 .NET Core 项目上工作所需的大部分工作,并在所有类型的项目中使用了 NuGet PackageReference。

在 EF 6.3 内,仍有三个主要问题:

  1. 在 .NET Core 项目上工作的 NuGet 包管理器控制台的迁移命令:这项工作现已完成,并可在 Nightly 版中使用,这将是 preview 8 的一部分
  2. 更新的 Visual Studio EF6 设计器,可以处理新的项目文件和针对 .NET Core 的项目:这项工作尚未开始,计划对 Visual Studio 2019 年进行更新。同时,官方建议在以 .NET Framework 为目标的项目中处理 EDMX 文件,然后将 EDMX 的最终版本复制到 .NET Core 项目中。
  3. 迁移命令的跨平台命令行体验,类似于 dotnet ef,但适用于 EF6:这个在计划中。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

你的灯亮着吗?

你的灯亮着吗?

高斯 (Donald C. Gause)、温伯格 (Gerald M.Weinberg) / 俞月圆 / 人民邮电出版社 / 2014-1-1 / CNY 25.00

本书以别具一格的视角和幽默风趣的语言讨论了解决问题时有可能遇到的多种困难,并就如何训练思维能力指点迷津。本书分六个主题,每个主题都由若干生动有趣和发人深省的小故事组成,巧妙地引导读者先确认真正的问题,然后明确问题该由谁解决,再确定问题的根源,最后决定到底想不想解决这个问题。 本书适合所有业界人士以及想要探索问题解决之道的虚心读者细细品味。一起来看看 《你的灯亮着吗?》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

在线进制转换器
在线进制转换器

各进制数互转换器

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器