2014-10-04 44 views
0

我總是在發佈Winforms application時忘記更改連接字符串。我使用EF6.net framework 4.5Winforms調試/發佈生產/ dev連接字符串app.config

App.config

<connectionStrings> 
<add name="NarudzbeEntities" connectionString="metadata=res://*/NarudzbeModel.csdl|res://*/NarudzbeModel.ssdl|res://*/NarudzbeModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=192.168.1.XX;initial catalog=Narudzbe;persist security info=True;user id=USER;password=PASSWORD;MultipleActiveResultSets=True;App=EntityFramework&quot;" 
    providerName="System.Data.EntityClient" /> 
<add name="Narudzbe.Properties.Settings.NarudzbeConnectionString" 
    connectionString="Data Source=192.168.1.XX;Initial Catalog=Narudzbe;Persist Security Info=True;User ID=USER;Password=PASSWORD" 
    providerName="System.Data.SqlClient" /> 
</connectionStrings> 

我怎麼可以在app.config中兩個連接字符串或什麼是這樣做的正確方法。

有許多關於ASP.NET web.config的文章,但我需要winforms的解決方案。

回答

0

你可以在應用配置中這樣做。 Using the ConnectionStrings section of the configuration file鏈接有很好的信息可以關注。

<configuration> 
<connectionStrings> 
    <clear/> 
    <add name="Dev" 
     providerName="System.Data.SqlClient" 
     connectionString="Data Source=machine\sq; Initial Catalog=DevDB; Integrated Security=SSPI" 
/> 
    <add name="QA" 
     providerName="System.Data.SqlClient" 
     connectionString="Data Source=machine\sql; Initial Catalog=QADB; Integrated Security=SSPI" 
/> 
    <add name="Prod" 
     providerName="System.Data.SqlClient" 
     connectionString="Data Source=machine\sql; Initial Catalog=ProdDB; Integrated Security=SSPI" 
/> 
</connectionStrings> 

+0

問題是' Carlo 2014-10-09 18:02:27

0

如果使用的是EF,你必須在應用程序配置使用的連接字符串使用相同的名稱Context類。當我嘗試通過Context類的基礎構造函數傳遞連接字符串名稱時遇到問題。所以當你發佈你的應用程序時,只需在應用程序配置中重新評估連接字符串。