发布Winforms application
时,我总是忘记更改连接字符串。
我使用的是EF6
和.net framework 4.5
。
以App.config
为单位
<connectionStrings>
<add name="NarudzbeEntities" connectionString="metadata=res://*/NarudzbeModel.csdl|res://*/NarudzbeModel.ssdl|res://*/NarudzbeModel.msl;provider=System.Data.SqlClient;provider connection string="data source=192.168.1.XX;initial catalog=Narudzbe;persist security info=True;user id=USER;password=PASSWORD;MultipleActiveResultSets=True;App=EntityFramework""
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.NETweb.config,但我需要解决方案的winforms。
3条答案
按热度按时间ymzxtsji1#
你可以在应用程序配置中做类似的事情。Using the ConnectionStrings section of the configuration file链接有很好的信息可以遵循。
i2loujxw2#
如果您使用EF,则必须在应用配置中使用与Context类同名的连接字符串。当我尝试通过Context类的基构造函数传递连接字符串名称时遇到问题。因此,在发布应用时只需在应用配置中重新标记连接字符串即可。
yjghlzjz3#
我目前使用的是每种配置的
App.config
。所以在您的用例中,这将是App.Debug.config
和App.Release.config
。要使其工作,您必须编辑项目文件。在使用visual studio的dotnet framework中,您必须卸载您的项目。
在dotnet core或framework sdk风格的项目中(dotnet core风格的项目)你不必这样做。
添加以下代码段:
现在,无论您在什么配置中运行代码,都将使用app.config。
我在this thread上的以下答案中发现了这一点。对我来说,这可以使用运行在dotnet framework 4.8上的winforms,同时使用ef core 3.1。