我有 2 个 Windows Azure 数据库服务器,它们具有相同的表方案,但数据不同。
在我的 asp.net 站点中,我像这样连接第一个数据库:
Web.config
<add name="FirstDBContext" connectionString="..." providerName="..." />
DatabaseContext.cs
public class FirstDBContext: DbContext
{
public DbSet<Data> Datas{ get; set; }
}
DatasController.cs
private UsersContext db = new UsersContext();
public ViewResult Index()
{
return View(db.Datas.ToList());
}
如您所见,我在代码中设置了数据库。我怎样才能改变这一点,以便能够通过下拉列表动态地将一个数据库更改为另一个数据库?
非常感谢!
最佳答案
初始化UsersContext时可以传递连接字符串的名称
例如,如果您有以下连接搅拌
<add name="csFirstDB" connectionString="..." providerName="..." />
<add name="csSecondDB" connectionString="..." providerName="..." />
您可以将 UsersContext 更改为
public class UsersContext : DbContext {
public UsersContext (string connectionName) : base(connectionName){ }
}
现在,当您初始化 UsersContext 类对象时,传入连接字符串名称,它将引用该特定数据库。
关于ASP.net 多数据库链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12347077/