• 学习ASP.NET Core Blazor编程系列四——迁移


    学习ASP.NET Core Blazor编程系列二——第一个Blazor应用程序(下) 

             在具体的实际项目中,数据实体类随着应用程序的功能的变化而变化:添加和删除新的实体或属性,并且需要相应地去修改数据库的表或架构,使其与应用程序中的实体保持同步。 EF Core中的迁移功能能够以递增方式更新数据库架构或表,使其与应用程序的数据实体类保持同步,同时保留数据库中的现有数据。

          简要地说,迁移的方式如下:

    • 当项目中的数据实体类有了变改时,开发人员使用 EF Core 工具添加相应的迁移,以使数据库架构同项目中的数据实体类保持同步。EF Core 将当前数据实体类与旧的数据实体类进行快照比对,以确定差异,并生成迁移源文件;迁移源文件可在项目的源代码管理中进行跟踪,如同其他任何源文件。
    • 生成新的迁移源文件后,可通过多种方式将其应用于数据库。 EF Core 在一个特殊的历史记录表中记录所有的迁移操作,使其知道哪些迁移已执行,哪些迁移尚未执行。

     

    一、创建脚本工具并执行初始迁移

       在本篇文章中,我们来学习如何使用包管理控制台(PMC)来对数据库进行更新:

          • 执行Add-Migration Initial生成代码文件。

          • 执行Update-Database命名,更新数据库。

    1. 从菜单中选择“工具àNuGet包管理器器—>程序包管理器控制台”菜单。

           2. 在PMC中,输入以下命令: Add-Migration Initial。会提示如下错误“Add-Migration : 无法将“Add-Migration”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。”。如下图。

     

     3. 以上错误信息,说明我们缺少相应的包,在本文中主要用到以下三个包:
    Microsoft.EntityFrameworkCore.SqlServer (适用于EF Core SQL Server 提供程序,这个包我们在前面的文章中已经安装了。)
    Microsoft.EntityFrameworkCore.Design(适用于EF Core .NET Core CLI 工具 )
    Microsoft.EntityFrameworkCore.Tools(适用于 EF Core 的包管理器控制台工具)

    4.使用Visual Studio NuGet 包管理器控制台安装,在PMC中,输入以下命令:

    Install-Package Microsoft.EntityFrameworkCore.Tools
    Install-Package Microsoft.EntityFrameworkCore.Design

      5.上面的命令执行完毕之后,Nuget会自动安装我们所指定的包,如下图中红框所示。然后我们在PMC中输入 Add-Migration Initial。如下图。

      6. 在上面的命令执行完毕之后,会在项目中增加Migrations目录和用于创建初始数据库的代码,如下图。这些代码是基于DbContext指定的模型(在Models/ BookCntext.cs)。初始参数用于命名迁移。您可以修改成任何名称,但按惯例您可以选择描述迁移的名称。

     

      7. 在上面的命令执行完毕之后,输入Update-Database,这个命令通过运行Migrations / <time-stamp>_Initial.cs文件,创建数据库表。执行过程如下图。

     

     8. 执行结束之后,会在数据库中创建Book表。如下图。

     

     

  • 相关阅读:
    zookeeper03
    微服务网关Zuul
    微服务网关概述
    服务熔断Hystrix高级
    服务熔断Hystrix入门
    微服务架构的高并发问题
    服务注册和发现总结
    服务调用Feign高级
    服务调用Feign入门
    负载均衡Ribbon高级
  • 原文地址:https://www.cnblogs.com/chillsrc/p/16747434.html
Copyright © 2020-2023  润新知