Vb.net .NET实体框架在实体持久化时不更新每一列
我有一个实体。我主要是通过一个数据绑定表单来操作这个实体,尽管我确实在ObjectModel类中捕获了PreSave事件以注入一些审计。其中99%的效果非常好,包括我正在使用的“DateModified”审计栏 但是也有两个审计放在模型对象上——“ModifiedBy”和“Usable”(基于业务规则的真/假值)。我可以在实体上成功设置这两个。我可以确认它们会一直传播到PreSave事件处理程序。我可以确认没有后续保存会破坏这些值或任何内容 但它不起作用。这两列实际上都没有保存。另一方面,DateModified列每次都会更新Vb.net .NET实体框架在实体持久化时不更新每一列,vb.net,entity-framework,Vb.net,Entity Framework,我有一个实体。我主要是通过一个数据绑定表单来操作这个实体,尽管我确实在ObjectModel类中捕获了PreSave事件以注入一些审计。其中99%的效果非常好,包括我正在使用的“DateModified”审计栏 但是也有两个审计放在模型对象上——“ModifiedBy”和“Usable”(基于业务规则的真/假值)。我可以在实体上成功设置这两个。我可以确认它们会一直传播到PreSave事件处理程序。我可以确认没有后续保存会破坏这些值或任何内容 但它不起作用。这两列实际上都没有保存。另一方面,Dat
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或其他任何东西。实体模型中的
修改属性和可用属性如何配置?它们使用默认设置,即模型集-并发模式为无,无默认值,它既不是实体键,也不是固定长度,它具有公共getter和setter。模型中的每一列的设置都完全相同。因此,您没有使用存储生成模式吗?不是针对该列,不是。我使用存储生成模式作为主键-我在前面的评论中应该更具体一些。但这些列中的任何一列都没有。