我想从我的连接字符串中获取数据源。我知道我可以用

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


希望这可以帮助。

08-27 07:43