我是学生。这是我的第一个生产水平项目。我正在使用Entity Framework开发一个WPF应用程序,该应用程序仅在选项卡上运行。我在选择数据库时遇到问题。由于此应用程序仅在一台设备上运行且无法使用云数据库,因此最佳选择是什么?
如果我使用mssql,我的开发环境和生产环境中的连接字符串会有所不同。我错了吗?如果我是对的,那么在两种环境中使用相同的连接字符串的解决方案是什么。
提前致谢。
答案 0 :(得分:0)
通常你总是会得到一个不同的连接字符串用于开发(例如:没有密码)和生产(例如:长密码)。
C#使用App.config
处理此问题:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="yourname" connectionString="..." providerName="MySql.Data.MySqlClient" />
</connectionStrings>
</configuration>
然后,您将添加一个转换文件,根据您将部署它的环境更改App.config
的某些值。
通常有一个App.Release.config
文件,在Release模式下构建时更新connectionString(与Debug模式相比)
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<connectionStrings>
<add name="yourname"
connectionString="productionConnectionStringHere"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
</configuration>