簡體   English   中英

實體框架數據庫優先 - 如何防止運行初始遷移?

[英]Entity Framework Database First - How to prevent running the initial migration?

我最近能夠使用 EF Core 搭建一個現有的數據庫。 我們希望完全遷移到 EF Core,但我們遇到了一些障礙,我需要您的幫助。

我們從運行 scaffold 命令開始,最后得到這個文件結構

C:\>ls .\EFCore
Context
Models
EFCore.csproj

然后在創建上下文和模型之后,我運行了初始遷移命令。

dotnet ef migrations add CreateDb

運行該命令后,我們的目錄如下所示

C:\>ls .\EFCore
Context
Models
Migrations
EFCore.csproj

C:\>ls .\EFCore\Migrations
20210616210256_CreateDb.cs
20210616210256_CreateDb.Designer.cs
DbContextModelSnapshot.cs

我的問題

數據庫已經在所有環境中創建,所以我們不希望實體執行初始數據庫遷移。 我應該刪除20210616210256_CreateDb.cs20210616210256_CreateDb.Designer.cs來實現這一點嗎?

我能想到的另一條路線是創建__EFMigrationsHistory表並向其中插入一行。 這會假裝我們已經運行了初始數據庫創建。

請幫助,我想以最干凈的方式做到這一點。

刪除/注釋遷移文件的 Up() 和 Down() 方法中的代碼並調用更新數據庫。 你不想要創建表格的代碼,即

CreateTable(
            "dbo.YourTable",
            c => new
                { //Properties set here })

您的遷移課程可能如下所示 -

public partial class Initial : DbMigration
{
    public override void Up()
    {   
    }
    
    public override void Down()
    {
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM