Je ne peux pas NHibernate pour supprimer cet objet enfant, il se termine sans lancer aucune exception et sans rien supprimer:NHibernate ne pas supprimer l'objet enfant
public void DeleteW9(int vendorId, int vendorW9Id)
{
var vendor = vendorRepository.Get(vendorId);
var W9 = vendor.W9.Where(x => x.Id == vendorW9Id).First();
vendor.W9.Remove(W9);
vendorRepository.SaveOrUpdate(vendor);
}
Voici mon cartographie du vendeur:
mapping.HasMany(x => x.W9)
.KeyColumn("VendorFk")
.Cascade.AllDeleteOrphan()
.AsBag();
Ma table VendorW9 contient une référence à l'ID du fournisseur sous la forme de VendorFk. Je n'ai pas de configuration de restriction, dois-je configurer une relation de clé primaire? NHibernate fonctionne bien pour tout mais en supprimant les orphelins.
C'est, merci! –
Pouvez-vous expliquer pourquoi cela fonctionne? – UpTheCreek
Il semble que NHibernate doit être explicitement dit de valider les modifications afin de supprimer les orphelins. –