从实体框架 web.config 获取连接字符串



我的 web.config 中有 EF 连接字符串,如下所示

<connectionStrings>    
<add name="Entities" connectionString="metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=Source;Initial Catalog=Pricing;Integrated Security=False;UID=User;Pwd=password;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient"/>   
</connectionStrings>

在我的代码中,我这样做是为了获取我用于其他一些控件的连接字符串

SqlDataSource1.ConnectionString = ((System.Data.Entity.Core.EntityClient.EntityConnection)Entities.Current.Connection).StoreConnection.ConnectionString;

我面临的问题是我正在获取连接字符串,但由于某种原因它没有密码

Data Source=Source;Initial Catalog=Pricing;Integrated Security=False;UID=User;MultipleActiveResultSets=True

所以我的连接失败了。有人可以告诉我我在这里做错了什么。我只需要以下部分

Data Source=Source;Initial Catalog=Pricing;Integrated Security=False;UID=User;Pwd=password;MultipleActiveResultSets=True

谢谢

编辑:所以看起来密码是设计隐藏的 https://social.msdn.microsoft.com/Forums/en-US/5a5730be-c93e-4da5-a614-7ed629f06f51/why-would-password-of-connectionstring-be-filtered-after-instantiating-any-object-in-entity?forum=adodotnetentityframework

不确定是否有其他方法

看起来 ConfigurationManager 在 Core 中可用(ConfigurationManager.AppSettings 在 .NET Core 2.0 中可用吗?(。

为什么不试试呢?然后从 web.config 中提取连接字符串和密码(如果需要,则存储为单独的密钥(。

最新更新