2014-01-31 75 views
0

我正在開發一個區分現有數據庫和備份文件的應用程序(.bak)。當通常從SQL Server連接和檢索數據時,我更喜歡使用Linq,因爲我發現在構建查詢時更容易使用它。查詢恢復的數據庫時的最佳做法

在這種情況下,我不知道怎樣才能做到這一點,我的方法是,我構建與SQL查詢字符串恢復數據庫(從.bak文件),然後檢索,從目前的一個不同之任何數據,這一個。

我使用的所有查詢都是我爲了添加數據庫名稱和模式而格式化的字符串。我使用的字符串變得相當大,我發現它非常混亂(我喜歡乾淨的代碼)。

數據庫的結構都是一樣的,不會在不同的備份或真正的交易之間改變。每天都有新的備份,必須進行檢查,因此,每次有新備份時,都不會進入並添加新的連接文件。

有沒有什麼辦法可以使用Linq來恢復數據庫,然後使用Linq查詢來檢索數據?或者我是否應該這樣做?

回答

0

您只能使用Linq進行查詢,因此您無法使用它來恢復數據庫。

另外,不能在同一個Linq查詢中使用不同的數據庫,但是可以將每個查詢的結果實體化爲數據庫,並根據它們製作第三個Linq查詢,如this answer所示。

+0

因此,如果我能夠使用普通查詢創建數據庫,那麼我可以使用Linq來獲取數據嗎? – Sander

+0

是的,但你需要一個與備份數據庫相關的上下文。您可以爲每個數據庫創建兩個,然後動態執行恢復(從而更改相應恢復的數據庫的內容),或者您可以通過簡單地指向備份數據庫來重複使用上下文(因爲模式是相同)。我不確定是否可以通過使用指向還原數據庫的不同連接字符串來簡單地完成後者。 – jnovo

相關問題