1
フィールドがタイムスタンプ型のデータベースに存在し、エンティティ・フレームワーク・デザイナで固定としてマークされ、競合が発生した場合、オプティミスティック同時実行例外がObjectContext.saveChange()によってスローされます。 /私は例外を上昇し、ハードコードのタイムスタンプを比較しています:私のために動作しません 例外はあるもののエンティティへのオプティミスティック並行性とlinq?
public void SaveChanges(TEntity entity, Byte[] oldTimestamp, Byte[] newTimestamp)
{
int i=0;
try
{
foreach (byte b in oldTimestamp)
{
if(!b.Equals(newTimestamp[i++])) throw new OptimisticConcurrencyException();
}
SaveChanges();
}
catch (OptimisticConcurrencyException oce)
{
Refresh(entity);
throw oce;
}
}
私は私がやっているとは思わないが、きれいなコードです今育った。