.NET Entity Framework не обновляет каждый столбец, когда сущность сохраняется - PullRequest
0 голосов
/ 06 мая 2011

У меня есть сущность. Я в основном манипулирую этим объектом с помощью формы с привязкой к данным, хотя я перехватил событие 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 или что-либо еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...