EF中的连接字符串

时间:2017-06-04 11:50:58

标签: c# sql-server database entity-framework connection-string

我是学生。这是我的第一个生产水平项目。我正在使用Entity Framework开发一个WPF应用程序,该应用程序仅在选项卡上运行。我在选择数据库时遇到问题。由于此应用程序仅在一台设备上运行且无法使用云数据库,因此最佳选择是什么?

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

提前致谢。

1 个答案:

答案 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>

关于您将要使用的数据库:这并不重要。看看Sqlite。如果您没有表格数据,请Mongo