我正在运行时创建连接字符串,但问题是双引号 (") 自动转换为 "e;。我该如何解决这个问题?
下面是我的代码:-
System.Configuration.Configuration Config1 = WebConfigurationManager.OpenWebConfiguration("~");
ConnectionStringsSection conSetting = (ConnectionStringsSection)Config1.GetSection("connectionStrings");
string providerName = @"providerName=" + "\"System.Data.EntityClient\"";
string conString = @"metadata=res://*/OWordpress.csdl|res://*/OWordpress.ssdl|res://*/OWordpress.msl;provider=System.Data.SqlClient;provider connection string=" + "\"data source=" + host + ";initial catalog=" + dbName + ";user id=" + userId + ";password=" + password + ";MultipleActiveResultSets=True;App=EntityFramework\"\'" + providerName;
ConnectionStringSettings StringSettings = new ConnectionStringSettings("OWordpressContainer", conString);
conSetting.ConnectionStrings.Remove(StringSettings);
conSetting.ConnectionStrings.Add(StringSettings);
Config1.Save(ConfigurationSaveMode.Modified);
创建连接字符串后如下所示:-
<add name="OWordpressContainer" connectionString="metadata=res://*/OWordpress.csdl|res://*/OWordpress.ssdl|res://*/OWordpress.msl;provider=System.Data.SqlClient;provider connection string="data source=192.168.0.46;initial catalog=test4;user id=sa;password=Admin123#;MultipleActiveResultSets=True;App=EntityFramework"""providerName="System.Data.EntityClient"" />
但是我需要如下的连接字符串:-
<add name="OWordpressContainer" connectionString="metadata=res://*/OWordpress.csdl|res://*/OWordpress.ssdl|res://*/OWordpress.msl;provider=System.Data.SqlClient;provider connection string="data source=192.168.0.46;initial catalog=OWpress;user id=sa;password=Admin123#;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
提前致谢。
最佳答案
你应该使用 following overload ConnectionStringSettings
类,它采用 providerName。
你可以这样使用它:
System.Configuration.Configuration Config1 = WebConfigurationManager.OpenWebConfiguration("~");
ConnectionStringsSection conSetting = (ConnectionStringsSection)Config1.GetSection("connectionStrings");
string providerName = "System.Data.EntityClient";
string conString = @"metadata=res://*/OWordpress.csdl|res://*/OWordpress.ssdl|res://*/OWordpress.msl;provider=System.Data.SqlClient;provider connection string=" + "\"data source=" + host + ";initial catalog=" + dbName + ";user id=" + userId + ";password=" + password + ";MultipleActiveResultSets=True;App=EntityFramework\"\'";
ConnectionStringSettings StringSettings = new ConnectionStringSettings("OWordpressContainer", conString, providerName);
conSetting.ConnectionStrings.Remove(StringSettings);
conSetting.ConnectionStrings.Add(StringSettings);
Config1.Save(ConfigurationSaveMode.Modified);
关于c# - 避免将“转换为”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30500470/