2017-06-04 56 views
-3

我是学生。这是我的第一个生产级项目。我正在开发一个使用实体框架的WPF应用程序,该应用程序只能在选项卡上运行。我在选择数据库时遇到问题。由于此应用程序只能在一台设备上运行,并且无法使用云数据库,因此最佳选择是什么?EF中的连接字符串

如果我使用mssql,我的开发环境和生产环境中的连接字符串不同。我错了吗?如果我是正确的,那么在两种环境中都有相同的连接字符串的解决方案。

在此先感谢。

回答

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(与调试模式)

<?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> 

至于你要使用哪个数据库:这其实并不重要。看看Sqlite。或者如果您没有表格数据,则为Mongo

+0

如何确定生产连接字符串 – Niroshan

+0

连接字符串因数据库而异。你会发现它们都记录在[connectionstrings.com](https://www.connectionstrings.com/) – Laoujin