У меня есть веб-приложение, использующее EF4.Я немного новичок в EF и теперь пытаюсь реализовать Audit изменений. Я пытался сделать это, перехватывая событие SavingChanges класса контекста, как показано ниже
partial void OnContextCreated()
{
this.SavingChanges += new EventHandler(TicketContainer_SavingChanges);
}
Таким образом, обработчик событий обращается к измененным записям с помощью следующего
this.ObjectStateManager.GetObjectStateEntries(
EntityState.Added | EntityState.Modified);
Это отлично работает, и я создаю аудит на уровне столбцов для выбранных таблиц.Каждая таблица / сущность имеет поле идентификатора, которое является идентификатором с columnName = "ID".Поэтому в своей процедуре аудита я просто обращаюсь к данным из столбца с именем «Id», чтобы получить идентификатор проверяемой записи.
Проблема, с которой я сталкиваюсь, заключается во время вставки.У новой записи еще нет идентификатора, поскольку она является столбцом идентификаторов в базе данных и всегда равна 0.
Единственное решение, которое я могу придумать, - это использовать GUID для всех идентификаторов. Но есть ли способ реализовать это, используя стандартныеint32 Идентификационные идентификаторы?
спасибо