2012-04-05 16 views

回答

2

當你實例化一個DBML適當的連接字符串是從檢索配置文件。 (app.configweb.config)。在沒有找到設置的情況下,將使用初始連接字符串(作爲DBML上的一個屬性存在,並且可以通過設計器查看)。

如果通過單個實例使用多個連接字符串,並且需要指定要連接的數據庫,則只需要使用連接字符串構造函數。

在你的情況下,你只需要在你正在執行的設置文件中包含適當的連接字符串。連接字符串必須正確命名 - 請參閱放置在包含DBML的項目中的設置以檢查名稱。

+0

謝謝。 「如果通過單個實例使用多個連接字符串,則只需要使用連接字符串構造函數,並且需要指定要連接的數據庫。」可能永遠是真的,因爲可能不希望更改C#代碼以使用其他DataContext或可能會?也許人們可以設置一個Live,Test和Dev Data上下文,然後通過一些配置設置鏈接到合適的一個? 2個選項:3個具有唯一連接字符串的datacontext或1個具有可互換連接字符串的datacontext。最佳途徑??謝謝你,Ed – EdB 2012-04-05 10:05:54

+0

@EdB你想要一個DataContext從你的配置文件中檢索一個命名的連接字符串。但是你想要*三個*配置文件。配置設置 - 例如目標數據庫 - 不需要在C#代碼中進行切換。如果您重新閱讀我的答案,您會看到我建議您在配置文件中指定連接字符串,並暗示您爲每個環境使用配置文件。 – 2012-04-10 00:09:15

+0

謝謝,非常感謝幫助。 – EdB 2012-04-11 14:44:32

1

你應該能夠做到這一點。當您生成DBML時,通常會將連接字符串寫入配置文件(web.config或app.config)。我們應該只更改配置文件中的數據庫位置。但是,您必須確保您的所有數據庫都處於同步狀態。

+0

謝謝大家,我也遇到過這個來自「Ronny」:是的,這是可能的。 MYDataContext myContext = new MYDataContext(「Your Connection String」); 有一個構造函數,您可以在其中改變Connectionstring。 – EdB 2012-04-05 02:04:12

相關問題