我很困惑这里的情况。我需要连接到两个单独的数据库,一个是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
,它会创建一个在数据库中的变化的迁移。
但是现在,当我有两个单独的数据库时,迁移不会在第二个数据库或稍后添加的数据库中包含任何更改。
请帮忙。任何帮助是极大的赞赏。
谢谢
你如何注册在启动文件两个DbContexts运行数据库更新?另外,你是否希望两个数据库在数据更改时更新? – KidCode
@KidCode我还没有注册global.asax中的任何数据库。当我只有一个数据库时,我想这不是必须的。 –
@KidCode我想更新数据库模式,就像当我执行'update-database'或'add-migration'时一样,但只有一个数据库正在更新。 –