【问题标题】:How to apply Entity Framework migration scripts to restore a database in an existing ASP.NET Core Web application如何应用 Entity Framework 迁移脚本来恢复现有 ASP.NET Core Web 应用程序中的数据库
【发布时间】:2021-11-15 06:36:47
【问题描述】:

我有一个现有的具有通常风格的 ASP.NET Core Angular Web 应用程序。它在Migration/ 代码文件夹中附带了一组迁移脚本(例如20151227555555_AddIdentity.cs20161227444444_AddCoreEntities.cs 等),每个脚本都有UpDownBuildTargetModel 方法。

然后还有另一个名为 MigrationScript 的文件夹,其中包含各种数据库实体的表创建 SQL 脚本(直接 CREATE TABLE...)。

我习惯于通过我可以“publish”的数据库项目来运行数据库管理和娱乐/恢复。我是 EF Migration 的新手,那么如何运行这些迁移 C# 脚本来创建数据库?

【问题讨论】:

    标签: entity-framework asp.net-core migration


    【解决方案1】:

    C# 迁移脚本已经包含Up()Down() 方法这一事实意味着它们已准备好应用。 (注意:通常UpDown 方法是由Add-Migration migrationname 命令创建的)。

    以下是如何在现有项目中应用 C# 实体框架迁移脚本:

    1. 使用正确的数据库名称创建空数据库。数据库名称通常在ConnectionStrings 组下的aspsettings.json 文件中定义。打开 Microsoft SQL Server Management Studio,创建一个具有正确名称的空数据库。

    2. 在 Visual Studio 解决方案资源管理器中,右键单击包含Migration 文件夹(C# 迁移脚本所在的位置)的项目,选择Manage NuGet Packages... 并在Installed 选项卡下查看Microsoft.EntityFrameWorkCore.Tools包已安装,如果没有继续安装它。因为那是包含 EF 迁移命令的包,即Add-MigrationUpdate-Database

    3. 在包含Migration 文件夹的项目中安装Microsoft.EntityFrameWorkCore.Tools 包后,通过Tools -> NuGet Package Manager -> Package Manager Console 菜单选项打开Package Manager Console

    4. Package Manager Console 提示符下,键入命令Update-Database,然后将应用所有迁移脚本并在步骤 1 中创建的本地 SQL Server 数据库中创建的表。

    【讨论】:

      猜你喜欢
      • 2017-12-24
      • 2017-05-16
      • 2016-08-21
      • 1970-01-01
      • 1970-01-01
      • 2019-02-26
      • 1970-01-01
      • 2017-06-18
      • 2022-12-09
      相关资源
      最近更新 更多