データコンテキストで実行されるwinformsクライアントアプリがあります。現在、ある種の同時実行の問題が発生しています。各クライアントで独自のデータコンテキストが実行されているため、変更が加えられると、変更がデータベースに保存されます。しかし、ユーザー A が Object_1 に変更を加え、その変更をデータベースに保存すると、ユーザー B は、ユーザー A が object_1 に加えたこれらの変更を見ることができません。
- 私が望むのは、ユーザーが 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 を更新するための最善の方法はありますか?