从父实体集合中删除子实体时,我注意到 EF 将子实体状态设置为修改而不是删除。
实体对象管理器中是否有另一个属性将其设置为删除?
下面是我在 EF 存储库中的 Save 方法中使用的代码,用于查找任何已修改的子项,然后将其删除。
Dim orphans = DataContextFactory.GetWMSDBContext().ChangeTracker.Entries().Where(Function(e) (e.State = EntityState.Modified) AndAlso TypeOf e.Entity Is StockTransferItem)
For Each orphan In orphans
orphan.State = EntityState.Deleted
Next
我遇到的问题是试图检测更新和删除之间的区别,因为两者的状态都设置为修改。目前,当我更新记录时,它正在删除该项目。我可以在两种状态之间进行检测吗?