在C#2008應用程序中,我使用linq to SQL連接到SQL Server 2008數據庫。現在我想從app.config文件獲取數據庫的連接,而不是將值硬編碼到應用程序中。我希望能夠將連接字符串更改爲數據庫,因爲我將把這個應用程序從單元測試數據庫移到用戶接受數據庫到生產數據庫。app.config使用linq to sql問題
現在我收到錯誤消息,「」對象引用未設置爲對象實例。「我知道這條錯誤消息來自我列出的代碼行,因爲它是唯一的一行代碼我改變
以下是從*了.Designer.cs文件中的代碼片段(這是DBML文件的一部分)
using System.Configuration;
public esampleDataContext() :
base(ConfigurationManager.ConnectionStrings["sample.Properties.Settings.DEVConnectionString"].ConnectionString,mappingSource)
**注意:base(global::sample.Properties.Settings.Default.DEVConnectionString, mappingSource)
是線我替換的代碼是由.NET框架生成的
我想提及以下內容:
- * .dbml文件與特定的項目文件相關聯。
- 此* .dbml文件的連接字符串設置有以下幾種:
- DEVConnectionString(設置)
- 連接字符串=數據源= DEV1;初始目錄= DEV_test;集成安全性=真
- 應用程序設置= True
- settings屬性名稱是DEVConnectionString。
- 具有* .dbml文件的項目文件。有一個參考設置爲system.configuration。
**注意:這段代碼在我寫的類似應用程序中,但我不明白爲什麼它在這裏不起作用。
因此,你可以告訴我,在代碼中顯示我,和/或指向我可以使用的引用,以便我可以獲取app.config文件中我想使用的數據庫連接字符串的值。我不想使用硬編碼的連接字符串到數據庫。
你的連接字符串在app.config中調用'sample.Properties.Settings.DEVConnectionString'嗎?如果沒有,那就是爲什麼它失敗了,因爲它無法在字典中找到它並返回null/ – ChrisF
我已編輯過您的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 –
如果我有app.config文件設置爲以下,這是好的: providerName是否會導致某種問題?你能解釋一下你的意思嗎?「如果沒有,那就是爲什麼它失敗了,因爲它無法在字典中找到它並返回null /?「我不完全明白你指的是什麼。 –
Jassie