2017-06-04 85 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