簡體   English   中英

實體框架代碼首先遷移兩個不同的數據庫

[英]Entity Framework code first migrations for two different databases

我對這里的情況很困惑。 我需要連接到兩個單獨的數據庫,一個是SQL Server數據庫,另一個是MySQL數據庫。

我在web.config文件中有連接字符串。 我能夠連接到服務器並訪問數據。

但是,我需要同時在兩台服務器上運行實體遷移。 或者一個接一個,我認為這是不可能的。

這是我的數據庫上下文:

// Database 1
public class DatabaseContext : DbContext
{
    public DatabaseContext() : base("name=OldDBContext"){ }

    protected override void OnModelCreating(DbModelBuilder modelBuilder) { }

    public static DatabaseContext Create()
    {
        return new DatabaseContext();
    }

    public DbSet<User> UserModel { get; set; }
}

// Database 2
public class NewDatabaseContext : DbContext
{
    public NewDatabaseContext() : base("name=NewDBContext") { }

    protected override void OnModelCreating(DbModelBuilder modelBuilder) { }

    public static NewDatabaseContext Create()
    {
        return new NewDatabaseContext();
    }

    public DbSet<UserData> UserDataModel { get; set; }
}

最初我只有一個數據庫,我曾經在包管理器控制台中運行add-migration MigrationName ,它會創建一個包含數據庫中更改的遷移。

但是現在,當我有兩個單獨的數據庫時,遷移不包含第二個數據庫或我稍后添加的數據庫中的任何更改。

請幫忙。 任何幫助是極大的贊賞。

謝謝

嘗試為第二個上下文啟用遷移,使用ContextTypeName參數

Enable-Migrations -EnableAutomaticMigrations -ContextTypeName
NamespaceOfContext.NewDatabaseContext 

它將創建單獨的配置。 如果發生命名沖突,請在“遷移”文件夾中重命名配置文件,然后可以針對特定配置運行數據庫更新

Update-Database -ConfigurationTypeName ConfigurationName

暫無
暫無

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

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