无法使用自动映射获得NHibernate Cascade Delete Orphan
本文关键字:NHibernate Cascade Delete Orphan 映射 | 更新日期: 2023-09-27 18:28:50
已经尝试了几种解决方案来让NHibernate删除孤立记录。给定以下结构:
public class Parent {
public virtual ICollection<Domain> Domains {get;set;}
}
public class Domain{
public virtual Parent Parent {get;set;}
}
更新:这与二传手无关。这导致了其他问题,并已修复。但孤儿的删除仍然没有发生我尝试过以下几种:
根据在Domains(以及Domain类的Parent属性)上添加属性http://mookid.dk/oncode/archives/643
添加了自动映射,如:
AutoMap.Override<Parent>(map => { map.HasMany(x => x.Domains).Inverse().Cascade.All(); }) AutoMap.Override<Parent>(map => { map.HasMany(x => x.Domains).Cascade.All(); })
两者都导致域记录存储时Parent_Id=null。
关于如何结合自动映射实现这一点,有什么好的例子吗?
您没有指定deleteOrphan
map.HasMany(x => x.Domains).Inverse().Cascade.AllDeleteOrphan()