Я разрабатываю Службу данных WCF с самообследованием сущностей и хочу, чтобы клиенты не вставляли дублированный контент.Всякий раз, когда они отправляют данные POST без предоставления значения для ключа данных, я должен выполнить некоторую логику, чтобы определить, присутствуют ли эти данные в моей базе данных или нет.Я написал перехватчик изменений следующим образом:
[ChangeInterceptor("MyEntity")]
public void OnChangeEntity(MyEntity item, UpdateOperations operations){
if (operations == UpdateOperations.Add)
{
// Here I search the database to see if a matching record exists.
// If a record is found, I'd like to use its ID and basically change an insertion
// into an update.
item.EntityID = existingEntityID;
item.MarkAsModified();
}
}
Однако это не работает.СуществующийEntityID игнорируется, и в результате запись всегда вставляется, никогда не обновляется.Это вообще возможно сделать?Заранее спасибо.