2010-01-27 2 views
6

J'ai récemment commencé à utiliser NHibernate, et dans l'ensemble je l'aime beaucoup.Sérialisation NHibernate et XML avec IList <T>

Jusqu'à ce que je rencontre un problème avec la nécessité de sérialiser en XML et retour.

J'ai une classe qui a une relation plusieurs à plusieurs, donc ai un IList dans la classe parent pour contenir la liste des objets enfants.

Class parentClass{ 
    IList<childClass> childList; 

    string varA; 
    string varB; 
} 

Je dois être en mesure de sérialiser XML et le dos, mais il est évident IList me empêche de le faire, en raison de NHibernate vouloir contrôler la mise en œuvre concrète du IList, dans ce cas, l'aide d'un sac. Idéalement, je veux éviter d'avoir des DTO séparés juste pour remplacer la liste, car ma principale motivation pour utiliser NHibernate était de pouvoir l'utiliser avec les POCO et de ne pas avoir à créer un mauvais environnement autour de lui. Je suis conscient d'être en mesure de prendre le contrôle du processus de sérialisation avec ISerializable, mais encore une fois cela semble nier le point d'utiliser NHibernate en premier lieu pour réduire la complexité.

De plus, le XML doit rester «simple» car il est utilisé pour interagir avec des tiers.

Quelle est la meilleure façon de contourner cette contrainte?

Merci!

+0

dupliquer: http://stackoverflow.com/questions/1958684/nhibernate-how-do-i-xmlserialize-an-isett –

+0

Figuré ce n'était pas un nouveau problème, mais n'a pas trouvé beaucoup de spécifique à ce scénario. On dirait que les DTO sont la façon recommandée d'aller. Ennuyeux. – RSlaughter

+0

vérifiez AutoMapper, cela rend les choses plus faciles. –

Répondre

Questions connexes