目前,我的应用程序的连接字符串是硬编码的。
string connectionString2 = "Data Source=SWDB10DSQL;Initial Catalog=BillingUI;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFramework";
我正在尝试更改它,因此我引用了web.config文件中定义的连接字符串。我已经尝试了下面找到的解决方案,但它不起作用(数据不再插入我的表中)。然而它编译。</ p>
ImportController.cs
string connectionString2 = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["BillingUIEntities"].ConnectionString;
using (SqlConnection _con2 = new SqlConnection(connectionString2))
{
_con2.Open();
的Web.config
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<add name="BillingUIEntities" connectionString="metadata=res://*/Models.Model2.csdl|res://*/Models.Model2.ssdl|res://*/Models.Model2.msl;provider=System.Data.SqlClient;provider connection string="data source=SWDB10DSQL;initial catalog=BillingUI;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" /></connectionStrings>
更新:我已经确定它正在从Web.config获取连接字符串,但它包含了linq / my sql连接在控制器中似乎不需要的元数据。我认为子字符串可能是一个解决方法,但我不认为这是一个很好的方法,因为元数据可以更改,导致更长/更短的长度字符串,这将导致我子串连接字符串的无效区域。有一个更好的方法吗?
答案 0 :(得分:0)
使用ConfigurationManager而不是WebConfgurationManager。
string connectionString2 = System.Configuration.ConfigurationManager.ConnectionStrings["BillingUIEntities"].ConnectionString;
:)大卫