我有一个winforms客户端应用程序,它使用datacontext运行。 我现在遇到了一些并发问题,导致我的每个客户端都有自己的datacontext正在运行,并且在进行更改时,它们将更改存储在数据库中。但是,当用户A使Object_1一个变化,并存储在数据库中的变化,用户B不能看到用户A在object_1做出这些改变使用最新数据库值更新DataContext
- 我要的是,与来自值更新Object_1数据库,每次用户打开object_1。
我已经尝试使用DataContext.Refresh方法,但它似乎没有用数据库值更新对象。 继承人的代码示例:
public void updateObj(object obj)
{
if (hvilken is Apartment)
{
try
{
DataContext.Refresh(RefreshMode.OverwriteCurrentValues, obj);
}
catch (Exception ex)
{
throw ex;
}
}
if (hvilken is Customer)
{
try
{
DataContext.Refresh(RefreshMode.OverwriteCurrentValues, obj);
}
catch (Exception ex)
{
throw ex;
}
}
}
在实践中的任何方式最好,与数据库中的最新值更新的DataContext?
请不要吞下例外。如果该代码抛出'',它抛出*的原因* –
我正在调试代码,并且该方法不抛出异常。我的测试用例如下: 1.将值更改为机器A上的Obj1并保存到db 2.查看机器B上的Obj1 在机器上BI现在应该看到机器A输入的值,但我仍然得到机器A之前的“旧”值会更改该值。即使我使用刷新方法没有任何例外:/ – grmihel