2012-07-18 102 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

相关问题