我正在开发一个使用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这样的字符串搜索字符串吗?
任何帮助/建议表示赞赏。感谢。
答案 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