2013-05-27 156 views
1

在C#桌面應用程序中,我使用linq to sql連接到sql server 2008 r2數據庫。應用程序設置爲根據app.config文件中的值指向各種數據庫。C#linq將sql連接字符串更改爲默認設置

問題是*.designer.cs中的代碼在.net問題框架中以某種方式被defaults覆蓋。發生這種情況時,將從應用程序中刪除using system.configuration,並使用default settings值來獲取數據庫連接字符串值。

當我發現出現這個問題,我需要做到以下幾點:

  1. 地方using system.configuration代碼回*.designer.cs文件

  2. 更改代碼,使數據庫連接信息從獲得app.config file

  3. 刪除屬性設置,以便不使用default數據庫連接。

因此,你能告訴我是什麼原因導致這個問題發生以及如何解決問題?

+0

@JeremyThompson - 我不認爲你明白他在說什麼,設計師是唯一告訴dbml不要使用自己生成的連接字符串的地方,而是強制它使用另一個,並且在代碼中當你使用(datacontext)寫入...它會自動使用conn。現在我明白了,從dbml –

回答

1

我必須每次更新dbml文件時都這樣做,這是一個真正的痛苦。有兩件事你可以嘗試。

首先 - 在更新dbml之後,右鍵單擊dbml中的任意位置,轉到特性,然後在連接字符串下,您應該能夠從web.config或app.config中看到所需的一個。

如果它不在列表中,則將其設置爲none,然後進入設計器文件並執行您一直在做的事情。

+0

+1的ctring。 –

+0

我嘗試了你的建議,但我始終有這個問題 –