Как я читал, исключение оптимистичного параллелизма выдается ObjectContext.saveChange (), если в базе данных существует поле с типом Timestamp, помеченное как фиксированное в конструкторе entityframework, и возникает конфликт.
Это не работает для меня: / Я сравниваю временные метки в жестком коде, чтобы вызвать исключение:
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;
}
}
Я не думаю, что то, что я делаю, это чистый код, хотя сейчас возникает исключение.