为了账号安全,请及时绑定邮箱和手机立即绑定

实体框架在运行时更改连接

实体框架在运行时更改连接

杨魅力 2019-07-26 11:16:18
实体框架在运行时更改连接我有一个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};

我真的很抱歉。我知道我不应该使用答案回答其他答案,但我的答案太长了评论:(


查看完整回答
反对 回复 2019-07-26
  • 3 回答
  • 0 关注
  • 426 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信