【问题标题】:Get connection string from Entity Framework web.config从实体框架 web.config 获取连接字符串
【发布时间】:2020-01-13 19:05:57
【问题描述】:

我的 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

不知道有没有其他办法

【问题讨论】:

    标签: c# asp.net entity-framework entity-framework-6


    【解决方案1】:

    看起来 ConfigurationManager 在 Core (Is ConfigurationManager.AppSettings available in .NET Core 2.0?) 中可用。

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

    【讨论】:

    • 感谢您的回复..但这会给我整个连接字符串,我只是在寻找数据源部分..."metadata=res://*/Model.csdl|res: //*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlClient;provider 连接字符串="Data Source=Source;Initial Catalog=Pricing;Integrated Security=False;UID=User ;Pwd=password;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient"
    猜你喜欢
    • 1970-01-01
    • 2012-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-24
    • 2012-06-02
    • 1970-01-01
    • 2011-11-04
    相关资源
    最近更新 更多