Я хотел бы использовать Umbraco Forms не только для вставки данных, но и для их редактирования. До сих пор, когда я хочу редактировать запись, я передаю форму guid и идентификатор записи через строку запроса и заполняю правильные данные в полях. Все идет нормально.
Затем я успешно подключаюсь к событию Umbraco.Forms.Data.Storage.RecordStorage.RecordInserting.
void RecordStorage_RecordInserting(object sender, Umbraco.Forms.Core.RecordEventArgs e)
{
var ms = (Umbraco.Forms.Data.Storage.RecordStorage)sender;
if(this record exists){
ms.UpdateRecord(e.Record, e.Form);
}
}
Однако, когда я пытаюсь отправить отредактированную запись, и запускается строка ms.RecordUpdate(e.Record, e.Form), я получаю эту ошибку
The INSERT statement conflicted with the FOREIGN KEY constraint "FK_UFRecordDataString_UFRecordFields_Key". The conflict occurred in database "UmbracoPlay", table "dbo.UFRecordFields", column 'Key'.
The statement has been terminated.
Я не могу удалить старую запись, а затем вставить новую запись, потому что она будет вызывать одно и то же событие каждый раз, когда я вызываю ms.InsertRecord.
Что мне не хватает? Как я могу использовать Umbraco Forms для редактирования существующих данных?