如何在EF设置中仅从Web.Config获取提供者连接字符串?

时间:2014-04-02 08:58:41

标签: c# sql asp.net-mvc entity-framework

我正在开发一个使用Entity Framework的项目。但是,我需要执行一些SQL查询(不使用EF),并希望从Web.Config中检索连接字符串。使用以下方法获取完整的连接字符串很好:

System.Configuration.ConfigurationManager.ConnectionStrings["DatabaseName"].ConnectionString;

返回EF的完整连接字符串,如下所示。

metadata=res://*/NameDB.csdl|res://*/NameDB.ssdl|res://*/NameDB.msl;provider=System.Data.SqlClient;provider connection string="Data Source=name-db;Initial Catalog=Name;Integrated Security=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient

我只需要"提供商连接字符串"从这节开始。这有什么聪明的方法吗?或者我只需要使用像regex这样的字符串搜索字符串吗?

任何帮助/建议表示赞赏。感谢。

2 个答案:

答案 0 :(得分:11)

使用EntityConnectionStringBuilder对象获取ProviderConnectionString

string s= System.Configuration.ConfigurationManager.ConnectionStrings["DatabaseName"].ConnectionString;
        System.Data.EntityClient.EntityConnectionStringBuilder e = new System.Data.EntityClient.EntityConnectionStringBuilder(s);
        string ProviderConnectionString = e.ProviderConnectionString;

答案 1 :(得分:-1)

只需使用
var Provider = ConfigurationManager.ConnectionStrings [“ defautconnection”]。ProviderName