如何使用 Entity Framework 6 动态连接到不同的数据库?

How can I dynamically connect to different databases with Entity Framework 6?

我正在使用 WinForms 和 .NET 4.0,首先使用 EF 6 和代码。

我需要提供连接到 MySQL 或 SQL 服务器数据库的可能性。目前,我在 XML app.config 文件中使用了不同的连接字符串,并更改了 DBContext class 中的名称。我怎样才能使它动态地工作?

//first DbContext
namespace MultiDataContextMigrations.Models
{
public class DataContext : DbContext
{
 public DataContext()
 : base("DefaultConnection")
 {

 }

 protected override void OnModelCreating(DbModelBuilder modelBuilder)
 {
 //TODO:Define mapping
 }

 public DbSet Users { get; set; }
 public DbSet Orders { get; set; }
}
}
//second DbContext
namespace MultiDataContextMigrations.Models
{
public class UserDataContext : DbContext
{
 public UserDataContext():base("DefaultConnection")
 {
 }

 protected override void OnModelCreating(DbModelBuilder modelBuilder)
 {
 //TODO:Define mapping
 }

 public DbSet Users { get; set; }
 public DbSet Roles { get; set; }
}
}

检查这个Link http://www.dotnet-tricks.com/Tutorial/entityframework/2VOa140214-Entity-Framework-6-Code-First-Migrations-with-Multiple-Data-Contexts.html