У меня есть сущность. Я в основном манипулирую этим объектом с помощью формы с привязкой к данным, хотя я перехватил событие PreSave в классе ObjectModel, чтобы внедрить несколько проверок. 99% этого работает отлично, включая столбец аудита «DateModified», который я использую.
Но есть два аудита, которые также помещаются в объект модели: «ModifiedBy» и «Usable» (значение true / false, основанное на бизнес-правиле). Я могу установить оба успешно на объекте. Я могу подтвердить, что они распространяются вплоть до обработчика событий PreSave. Я могу подтвердить, что никакие последующие сохранения не сдувают эти значения или что-либо еще.
Но это не работает. Ни один из этих столбцов на самом деле не сохраняется. Столбец DateModified, с другой стороны, действительно обновляется каждый раз.
For Each m In mattersToValidate.Where(Function(mm) Not mm Is Nothing)
m.DateModified = Now() 'works
m.CSCRecentAdd = False 'works
Debug.Assert(m.ModifiedBy = "DOMAIN\USER") 'My user name- this is true (the value actually comes from a databound control, but this Assert passes, despite the value not reaching the DB).
m.ValidMatter = m.Validation 'doesn't work
If m.LawSection.LawSectionName = CLAIMABLE Then
m.ClaimNumber = m.MatterID 'works
Else
m.ClaimNumber = Nothing
End If
Next
Я должен добавить, что объект указывает непосредственно на таблицу базы данных и не проходит через представление, SP или что-либо еще.