我在C#中维护一个应用程序,它在开始时实例化一个DataContext并在整个过程中使用它。我发现当一个用户进行更改时,这些更改不会在他们重新加载表单时反映在另一个用户的系统上(它是一个WinForms应用程序)。我认为根本问题是由于永久打开的DataContext,数据被缓存在第二个用户的系统上。
鉴于无法重写应用程序以使用粒度DataContexts(这可能是正确的解决方案),我正在将Refresh()方法作为解决问题的方法。问题是要真正得到我想要的结果,我想刷新整个DataContext。显然,这不作为一种选择提供,但我能做些什么来达到这个效果呢? Refresh()方法是否级联?
感谢。
答案 0 :(得分:0)
您可以在此方案中使用UnitOfwork
模式。
它基本上做的是将所有行动作为交易执行。