2012-07-18 93 views
0

業務應用程序的一個雄心是允許多個用戶同時運行應用程序來管理大量數據。 如何使用WCF RIA Service從數據庫獲取最新版本的數據? 我試圖使用DomainCollectionView來顯示產品列表,並允許執行搜索,但不幸的是,如果我已經修改產品名稱或產品代碼或直接刪除記錄,客戶端上的搜索結果仍然是舊版本通過使用SQL Management Studio的數據庫或其他用戶所做的更改。 要獲取最新版本的數據,我必須刷新我的瀏覽器。 聽起來像數據已經在客戶端緩存。 請指教。Silverlight使用WCF RIA服務從數據庫獲取最新版本的數據

附上我的編碼文件,使用AdventureWorks作爲示例, 請導航到ProductPage並嘗試在搜索框中輸入內容。

http://www.mediafire.com/?l4aee46y3vljuv7

感謝。

+0

到底是不是有什麼工作適合你?它在這裏工作正常,加載頁面,在管理工作室上更改產品名稱,導航到其他頁面,當返回到另一頁面時,屏幕上顯示更新的數據。你能說出究竟是什麼步驟來重現問題嗎? – Leo 2012-07-18 19:20:45

+0

問題在於「導航到其他頁面,當回到另一頁面時,屏幕上顯示更新的數據」。我正在使用DomainCollectionView方法,我想在執行搜索時從數據庫中獲取最新版本的數據。例如,如果我在管理工作室中更改了產品名稱或刪除了某個產品,我希望客戶端在不刷新頁面的情況下使用最新版本的數據獲取搜索結果。 – 2012-07-19 13:10:49

+0

DomainCollectionView是實現服務器端過濾權嗎?爲什麼搜索結果不是來自數據庫的最新版本,如果不刷新頁面? – 2012-07-19 13:13:04

回答

0

在LoadProductSummaryList方法,行

Return context.Load(context.GetProductSummaryListQuery.Where(Function(p) p.Name.Contains(SearchText)) 

改變

Return context.Load(context.GetProductSummaryListQuery.Where(Function(p) p.Name.Contains(SearchText)), LoadBehavior.RefreshCurrent, True) 

的數據將被刷新,按您的需求。

希望這有助於...

克里斯·安德森

+0

真的很感激。這就是我要的。 – 2012-07-24 09:35:24