嗨,我有一个一对多的 ComplianceSet -> ComplianceItem。ComplianceItem 有一个一对多的 ComplianceItem -> ComplianceItemInstance。
我有
合规集
HasMany(x => x.GetUserComplianceItems()).Inverse().Access.CamelCaseField(Prefix.Underscore).LazyLoad().Cascade.AllDeleteOrphan();
和
合规项目
HasMany(x => x.GetUserComplianceItemInstances()).Inverse().Access.CamelCaseField(Prefix.Underscore).LazyLoad().Cascade.AllDeleteOrphan();
然后在我的代码中
userComplianceSet.GetUserComplianceItems().FirstOrDefault(....);
...
userComplianceItem.RemoveUserComplianceItemInstance(userComplianceItemInstance);
此代码返回
级联将重新保存已删除的对象(从关联中删除已删除的对象)[DecisionCritical.Core.Domain.UserComplianceSet#12]
现在这非常令人沮丧。如果我从两个集合中删除级联,则代码返回成功,但数据库显示它没有做任何事情。ComplianceItemInstance.ComplianceItemId 字段仍然填充,当然该项目仍然存在。无论如何,我只想能够从集合中删除一个孩子,对持有该集合的对象调用 save 并让这该死的东西消失。我已经尝试了级联的各种排列方式,保存(保存集合,保存项目)将删除添加到 ComplianceItemInstance 等等,但无法让它工作。
请帮忙