CLI 中实体框架核心的 -IgnoreChanges 开关等效于什么?

nik*_*kan 11 .net entity-framework entity-framework-core

使用 Visual Studio 可以运行命令

Add-Migration InitialCreate -IgnoreChanges 
Run Code Online (Sandbox Code Playgroud)

在使用 Code First 工作流创建现有数据库模型的第一次迁移时,在包管理控制台中。

CLI 的等价物是什么?添加命令将是这样的:

dotnet ef migrations add InitialCreate
Run Code Online (Sandbox Code Playgroud)

但是忽略开关呢?

nik*_*kan 22

在没有任何其他方式的情况下,可以清空所有代码迁移的Up和Down方法块并运行数据库更新。

public partial class Initial : Migration
{
    protected override void Up(MigrationBuilder migrationBuilder)
    {

    }

    protected override void Down(MigrationBuilder migrationBuilder)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)


NSD*_*umb 6

我的项目有一个现有的数据库,我们想使用迁移,因为我们IgnoreChanges在 EFCore 中没有我所做的就是运行命令

Add-Migration -Name InitialMigrationpackage manager consoleVisual Studio 中,这InitialMigration.cs为我创建了文件

然后我注释掉了 Up 函数中的代码InitialMigration.csupdate-databasepackage manager console.

这样做会dbo.__EFMigrationsHistory在您的数据库中创建一个表,用于跟踪您的迁移。

稍后当您添加或删除列时,只需运行 Add-Migration 命令,该命令将为您创建一个新的迁移,确保您验证 Up 和 Down 函数以确保一切正常且符合预期。

验证后,运行update-database应该为您运行新迁移脚本的函数。

现在,这就是我们继续实施的方式。