实体框架在运行时更改连接
我有一个Web API项目,它引用了我的模型和DAL程序集。向用户呈现登录屏幕,他可以在其中选择不同的数据库。
我按如下方式构建连接字符串:
public void Connect(Database database) { //Build an SQL connection string SqlConnectionStringBuilder sqlString = new SqlConnectionStringBuilder() { DataSource = database.Server, InitialCatalog = database.Catalog, UserID = database.Username, Password = database.Password, }; //Build an entity framework connection string EntityConnectionStringBuilder entityString = new EntityConnectionStringBuilder() { Provider = database.Provider, Metadata = Settings.Default.Metadata, ProviderConnectionString = sqlString.ToString() }; }
首先,我如何实际更改数据上下文的连接?
其次,由于这是一个Web API项目,连接字符串(在每个登录时设置)在整个用户的交互中是持久的还是应该每次都传递到我的数据上下文?
森栏