J'ai 2 classes qui ont une relation plusieurs à plusieurs. Ce que je voudrais arriver, c'est que chaque fois que je supprime un seul côté, les dossiers d'association seront supprimés sans souci de quel côté je supprimer.nhibernate plusieurs à plusieurs suppressions
modèle simplifié:
cours:
class Qualification
{
IList<ProfessionalListing> ProfessionalListings
}
class ProfessionalListing
{
IList<Qualification> Qualifications
void AddQualification(Qualification qualification)
{
Qualifications.Add(qualification);
qualification.ProfessionalListings.Add(this);
}
}
AutoMapping couramment avec overrides:
void Override(AutoMapping<Qualification> mapping)
{
mapping.HasManyToMany(x => x.ProfessionalListings).Inverse();
}
void Override(AutoMapping<ProfessionalListing> mapping)
{
mapping.HasManyToMany(x => x.Qualifications).Not.LazyLoad();
}
J'essaie différentes combinaisons de réglages en cascade et inverse, mais ne peut jamais y arriver. Si je n'ai pas de cascades et pas d'inverse, je reçois des entités dupliquées dans mes collections. Le réglage inverse d'un côté fait disparaître la duplication, mais lorsque j'essaie de supprimer une qualification, j'obtiens un 'objet supprimé qui serait ré-enregistré en cascade'.
Comment faire?
Devrais-je supprimer les associations de chaque objet?
Il ne veut pas que l'objet soit enlevé, juste le lien entre eux. –