我想从我的连接字符串中获取数据源。我知道我可以用
ConfigurationManager.ConnectionStrings["name"].ConnectionString
并用正则表达式将其提取出来。但是,似乎应该有一种简单的方法来获取此数据源。我不想抓住角色位置,因为这对于字符串顺序的任何更改都是脆弱的。
更新
我正在使用实体框架4。将生成连接字符串,并以
metadata=res://*/
这似乎使事情复杂化,因为建议的对象
SqlConnectionStringBuilder
引发错误“不支持关键字:'元数据'。”
最佳答案
可以这样做(vb.net):
Dim varConnectionString = Web.Configuration.WebConfigurationManager.ConnectionStrings("iSAMDBEntities").ConnectionString
Dim ecb As EntityConnectionStringBuilder = New EntityConnectionStringBuilder(varConnectionString)
varConnectionString = ecb.ProviderConnectionString
Dim varBiulder As SqlConnectionStringBuilder = New SqlConnectionStringBuilder(varConnectionString)
varServidor = varBiulder.DataSource
varBaseDatos = varBiulder.InitialCatalog
varUsuario = varBiulder.UserID
varClave = varBiulder.Password
希望这可以帮助。