J'ai deux entités gérées NHibernate qui ont un-à-plusieurs bidirectionnelle:Comment sérialiser/désérialiser une entité NHibernate qui a des références à d'autres objets?
public class Storage
{
public virtual string Name { get; set; }
public virtual IList<Box> Boxes { get; set; }
}
public class Box
{
public virtual string Box { get; set; }
[DoNotSerialize] public virtual Storage ParentStorage { get; set; }
}
Un Storage
peut contenir beaucoup Boxes
, et un Box
Appartient toujours dans un Storage
. Je veux modifier un nom Box's
, donc je l'envoie au client en utilisant JSON. Notez que je ne sérialiser ParentStorage
parce que je ne change pas qui le stockage est dans.
Le client modifie le nom et envoie le Box
retour JSON. Le serveur le désérialise en une entité Box
.
Le problème est que la propriété ParentStorage
est null. Lorsque j'essaie d'enregistrer le Box
dans la base de données, il met à jour le nom, mais supprime également la relation au Storage
.
Comment sérialiser et désérialiser correctement une entité comme Box
, tout en conservant la taille de données JSON au minimum?
C'est faux, les relations chargées paresseusement ne sont pas nulles, elles sont assignées aux proxies. –