从web.config获取多个连接字符串

pet*_*ski 10 c# connection-string web-config

如何通过C#中的代码从web.config获取所有连接字符串的名称?

我试过这个:

System.Configuration.Configuration webConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
ConnectionStringsSection x = webConfig.ConnectionStrings;
string here = x.SectionInformation.Name;
Run Code Online (Sandbox Code Playgroud)

Tim*_* S. 26

    foreach (ConnectionStringSettings c in System.Configuration.ConfigurationManager.ConnectionStrings)
    {
        //use c.Name
    }
Run Code Online (Sandbox Code Playgroud)


Ser*_*yev 5

这是使用LINQ来获取连接字符串名称列表的方法:

List<string> names = ConfigurationManager.ConnectionStrings
    .Cast<ConnectionStringSettings>()
    .Select(v => v.Name)
    .ToList();
Run Code Online (Sandbox Code Playgroud)

或者,您可以为其构建字典:

Dictionary<string/*name*/, string/*connectionString*/> keyValue = ConfigurationManager.ConnectionStrings
    .Cast<ConnectionStringSettings>()
    .ToDictionary(v => v.Name, v => v.ConnectionString);
Run Code Online (Sandbox Code Playgroud)