У меня есть клиентское приложение winforms, которое работает с datacontext. Я сейчас сталкиваюсь с некоторыми проблемами параллелизма, потому что у каждого из моих клиентов есть свой собственный datacontext, и когда они вносятся изменения, они сохраняют изменения в базе данных. Но когда пользователь А сделать изменения в Object_1, и сохранить изменения в базе данных, пользователь Б не может видеть эти изменения, сделанные на object_1 от пользователя А.Обновление DataContext с новейшими значениями базы данных
- То, что я хочу, чтобы обновить Object_1 со значениями из базы данных, каждый раз, когда пользователь открывает объект_1.
Я попытался использовать метод DataContext.Refresh, но, похоже, он не обновляет объект со значениями базы данных. Heres пример кода:
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 с новейшими значениями в базе данных?
Пожалуйста, не проглатывайте исключения. Если этот код 'throw', он бросает * по причине * –
Я отлаживаю код, и метод не бросает исключения. Мой тестовый пример выглядит следующим образом: 1. Измените значения на Obj1 на машине A и сохраните на db 2. Просмотреть Obj1 на машине B На машине BI теперь должен видеть значения, введенные с помощью Machine A, но я все еще получаю «старые» значения из-за того, что машина А изменила значение. Даже если я использую метод Refresh без каких-либо исключений:/ – grmihel