我有 2 个具有多对多关系的类。我想要发生的是,每当我删除一侧时,关联记录将被删除,而不关心我删除哪一侧。
简化模型:
类:
class Qualification
{
IList<ProfessionalListing> ProfessionalListings
}
class ProfessionalListing
{
IList<Qualification> Qualifications
void AddQualification(Qualification qualification)
{
Qualifications.Add(qualification);
qualification.ProfessionalListings.Add(this);
}
}
流利的自动映射与覆盖:
void Override(AutoMapping<Qualification> mapping)
{
mapping.HasManyToMany(x => x.ProfessionalListings).Inverse();
}
void Override(AutoMapping<ProfessionalListing> mapping)
{
mapping.HasManyToMany(x => x.Qualifications).Not.LazyLoad();
}
我正在尝试级联和反向设置的各种组合,但永远无法实现。如果我没有级联且没有反向,我的集合中会出现重复的实体。在一侧设置 inverse 会使重复消失,但是当我尝试删除一个限定时,我得到一个“已删除的对象将被级联重新保存”。
我该怎么做呢?
我应该负责清除我删除的每个对象的关联吗?