实体框架在运行时更改连接我有一个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项目,连接字符串(在每个登录时设置)在整个用户的交互中是持久的还是应该每次都传递到我的数据上下文?
3 回答
森栏
TA贡献1810条经验 获得超5个赞
我得到了错误:关键字不支持'数据源'。为了解决这个问题,我不得不改变他的代码的这一部分:
// add a reference to System.Configurationvar entityCnxStringBuilder = new EntityConnectionStringBuilder (System.Configuration.ConfigurationManager .ConnectionStrings[configNameEf].ConnectionString);
对此:
// add a reference to System.Configurationvar entityCnxStringBuilder = new EntityConnectionStringBuilder{ ProviderConnectionString = new SqlConnectionStringBuilder(System.Configuration.ConfigurationManager .ConnectionStrings[configNameEf].ConnectionString).ConnectionString};
我真的很抱歉。我知道我不应该使用答案回答其他答案,但我的答案太长了评论:(
- 3 回答
- 0 关注
- 454 浏览
添加回答
举报
0/150
提交
取消