当实体被持久化时,.NET Entity Framework不会更新每一列

时间:2011-05-06 12:33:40

标签: vb.net entity-framework

我有一个实体。我主要是通过数据绑定形式操作这个实体,虽然我确实在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或其他任何内容。

0 个答案:

没有答案