Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取实体框架核心C中特定迁移的SQL文件#_C#_Entity Framework Core_Entity Framework Migrations - Fatal编程技术网

C# 获取实体框架核心C中特定迁移的SQL文件#

C# 获取实体框架核心C中特定迁移的SQL文件#,c#,entity-framework-core,entity-framework-migrations,C#,Entity Framework Core,Entity Framework Migrations,我使用的是visual studio,EF Core 例如,我有迁移文件 例如20210314142045\u removecitizeship3.csas 使用Microsoft.EntityFrameworkCore.Migrations namespace CertificateSystem.DB.DB.Migrations { public partial class RemoveCitizenShip3 : Migration { protected o

我使用的是visual studio,EF Core 例如,我有迁移文件

例如
20210314142045\u removecitizeship3.cs
as 使用Microsoft.EntityFrameworkCore.Migrations

namespace CertificateSystem.DB.DB.Migrations
{
    public partial class RemoveCitizenShip3 : Migration
    {
        protected override void Up(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.DropColumn(
                name: "CitizenShip",
                schema: "CertificateSystem",
                table: "CommercialEntity");
        }

        protected override void Down(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.AddColumn<int>(
                name: "CitizenShip",
                schema: "CertificateSystem",
                table: "CommercialEntity",
                nullable: true);
        }
    }
}
namespace CertificateSystem.DB.DB.Migrations
{
公共部分类RemoveCitizenShip3:迁移
{
受保护的覆盖作废(MigrationBuilder MigrationBuilder)
{
migrationBuilder.DropColumn(
姓名:“公民身份”,
模式:“证书系统”,
表:“商业实体”);
}
受保护的覆盖无效关闭(MigrationBuilder MigrationBuilder)
{
migrationBuilder.AddColumn(
姓名:“公民身份”,
模式:“证书系统”,
表:“商业实体”,
可为空:真);
}
}
}
我想将我的项目发布到生产环境中,我知道在生产环境中使用迁移不是一种好方法 我认为更新数据库的最好方法是在开发版本上进行迁移,并从中创建SQL,然后在生产环境中执行SQL

我的问题是如何从迁移文件创建SQL文件

我已经读过了
https://stackoverflow.com/questions/49552550/get-sql-file-for-specific-migration-in-entity-framework-6-c-sharp

我看到从X到Y的脚本迁移做了一些工作,但是如果我想在特定的文件上做的话?我该怎么做呢?

你可以

Script-Migration -From <PreviousMigration> -To <LastMigration>
上面的示例使用迁移ID为InitialCreate迁移之后的所有迁移创建脚本。请参阅 如果您使用的是.net core CLI工具

dotnet ef migrations script 20180904195021_InitialCreate

始终遵循

您所说的特定文件是什么意思?你的意思是从第一次迁移到该文件(
-到RemoveCitizenShip3
),还是从该文件到最新的迁移(
-从RemoveCitizenShip3
)?我的意思是从数据库的最后一个状态到下一个迁移有时它会为我创建一个空脚本,你知道为什么吗?@hedbisker哪个命令?
dotnet ef migrations script 20180904195021_InitialCreate