ユーザーがアクティビティを行うたびにダウンする必要がある SQL のカウンターがあります。アクティビティが猛烈に速く、ChangeConflictException が発生することがあります。これは問題ありませんが、最終的な値が両方の変更の組み合わせになるようにしたいと考えています。
このようなもの
try
{
db.SubmitChanges();
}
catch (ChangeConflictException cce)
{
foreach (ObjectChangeConflict occ in db.ChangeConflicts)
{
foreach (MemberChangeConflict mcc in occ.MemberConflicts)
{
if (mcc.DatabaseValue is int)
{
mcc.FinalValue = mcc.DatabaseValue + mcc.CurrentValue - mcc.OriginalValue;
}
}
}
}
サンプル値、元の値は 50、現在の値は 30 (20 を引いた値)、データベースの値は 40 (元の値から 10 を引いた値) です。最終的な値は 40-20 = 20 になります。
もちろん、mcc.FinalValue のようなものはありません。どうすればいいですか?