다 대다 관계가있는 2 개의 클래스가 있습니다. 나는 어떤 일이 일어나길 원한다. 나는 한 면만 삭제할 때마다 연합 기록이 삭제 될 염려없이 삭제 될 것이다.많은 삭제를 nhibernate로 처리
단순화 된 모델 :
클래스 : 무시와
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();
}
나는 폭포와 역 설정의 다양한 조합을 시도하고 있지만, 거기 수 없다. 캐스케이드가없고 역이없는 경우 내 컬렉션에 복제 된 엔티티가 생깁니다. 한면에 반전을 설정하면 복제가 사라 지지만 자격을 삭제하려고하면 '삭제 된 객체가 계단식으로 다시 저장됩니다.'라는 메시지가 나타납니다.
어떻게해야합니까?
내가 삭제 한 각 개체의 연결을 지우는 책임을 져야합니까?
그는 개체가 제거되는 것을 원하지 않으며, 개체 간의 연결 만 원하지 않습니다. –