Je rencontre des difficultés pour enregistrer un objet dans ma base de données à l'aide de NHibernate.Comment empêcher NHibernate de créer des enregistrements en double pour les objets référencés
Mon code ressemble à ceci:
Image image = new Image { Url = 'test.jpg' };
Product product1 = new Product { Name = 'MyProduct', Image = image };
Product product2 = new Product { Name = 'MyProduct2', Image = image };
MySession.Save(product1); // This also creates an Image record
MySession.Save(product2); // This creates another Image record even tho the data is exactly the same
Je voudrais éviter que l'image soit créé deux fois. Existe-t-il une solution NHibernate standard ou dois-je créer une méthode Save() personnalisée pour la classe Product?
Publiez vos correspondances s'il vous plaît –
Les correspondances courantes sur la classe de produit sont: Carte (x => x.Nom); Références (x => x.Image) .Cascade.SaveUpdate(); –
Avez-vous essayé ceci sans l'initialisation automatique? product1.Image = image –