我有一个实体。我主要是通过数据绑定形式操作这个实体,虽然我确实在ObjectModel类中捕获了PreSave事件以注入一些审计。其中99%完全正常,包括我正在使用的“DateModified”审核列。
但是还有两个审核也放在模型对象上 - “ModifiedBy”和“Usable”(基于业务规则的真/假值)。我可以在实体上成功设置这两个。我可以确认它们一直传播到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或其他任何内容。