2012-09-19 184 views
0

我目前正在學習有關EF的知識,並進入了一個應用程序在線和離線模式下使用的場景。實體框架,離線使用策略?

假定用戶必須在連接時首先使用系統才能獲取脫機使用的數據。

我想過序列化查詢,但IQueryable/ObjectQuery沒有標記爲可序列化。

我該如何解決從本地幾個查詢中存儲結果然後在離線模式下恢復它們以便使用可以繼續使用該應用的問題?我可以花幾天時間研究這個問題,但我希望有人能指出我正確的方向。

編輯

值得注意的是,主SQL Server實例是安裝非常小的功能共享服務器。例如,複製未安裝。

回答

1

假設你正在使用SQL Server,你可以看看SQL Server compact。

http://msdn.microsoft.com/en-us/data/ff687142.aspx

你可以從你的主數據庫的數據複製到本地存儲的CE數據庫,然後切換到本作離線。

+0

這是一個不錯的選擇。不幸的是,在這種特殊情況下,不允許在此SQL Server實例上創建發佈,甚至不會安裝它。這個實例是由其他生產應用程序共享的,我被給予了大的雙拇指,所以我只能在我的本地開發機器上在SQL Express實例中進行測試。一個缺點是發佈每天運行一次,在這種情況下,快照確實需要最新的。我確定有一個函數或調用某處強制它拍攝快照。 – Mohgeroth

+0

如果最糟糕的情況出現,你可以使用EF自己做快照。 –