Asp.net mvc 4 如何用一个实体框架动态连接多个数据库。?
这是我的MVC项目。我使用的是实体框架5。我有一个主客户端数据库脚本。使用它,我可以创建多个客户端数据库,只是数据库名称不同。现在我有了一个用于该客户端数据库的实体框架模型。使用一个实体框架,我需要动态连接不同的数据库。我将从一个文本框中获取数据库名称。我知道它即将获取web.config中的连接字符串,并更改数据库名称。但我找不到类似的解决方案。我也尝试了“SqlConnectionStringBuilder”。我应该在web.config中只使用一个连接字符串,而在主客户端数据库中使用该字符串 这是我的web.config连接字符串Asp.net mvc 4 如何用一个实体框架动态连接多个数据库。?,asp.net-mvc-4,sql-server-2012,entity-framework-5,Asp.net Mvc 4,Sql Server 2012,Entity Framework 5,这是我的MVC项目。我使用的是实体框架5。我有一个主客户端数据库脚本。使用它,我可以创建多个客户端数据库,只是数据库名称不同。现在我有了一个用于该客户端数据库的实体框架模型。使用一个实体框架,我需要动态连接不同的数据库。我将从一个文本框中获取数据库名称。我知道它即将获取web.config中的连接字符串,并更改数据库名称。但我找不到类似的解决方案。我也尝试了“SqlConnectionStringBuilder”。我应该在web.config中只使用一个连接字符串,而在主客户端数据库中使用该字符
<add name="SBAClientEntities" connectionString="metadata=res://*/Models.ClientModel.csdl|res://*/Models.ClientModel.ssdl|res://*/Models.ClientModel.msl;provider=System.Data.SqlClient;provider connection string="data source=USER-PC\SQL2012SERVER1;initial catalog=SBAClient;persist security info=True;user id=sa;password=sa12345;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
谢谢你,兄弟。!你节省了我的时间
public partial class SBAClientEntities : DbContext
{
public SBAClientEntities()
: base("name=SBAClientEntities")
{
}
public SBAClientEntities(string databaseName)
: base("name=SBAClientEntities")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public DbSet<CM_Customer_UISetings> CM_Customer_UISetings { get; set; }
}
using (SBAClientEntities db1 = new SBAClientEntities(databaseName))
{
CusFontViewModel obj = new CusFontViewModel();
var result = from c in db1.CM_Customer_UISetings
select c;
obj.itemList = result.ToList();
return obj;
}
SBAClientEntities dbWILLBECHANGED = new SBAClientEntities();
dbWILLBECHANGED.Database.Connection.Open();
dbWILLBECHANGED.Database.Connection.ChangeDatabase(DatabaseNEWName);