2010-01-27 9 views
6

Recientemente comencé a usar NHibernate, y en general me gustó mucho.Serialización NHibernate y XML con IList <T>

Hasta que me encontré con un problema con la necesidad de serializar a XML y viceversa.

Tengo una clase que tiene una relación de muchos a muchos, así que tenga un IList en la clase principal para mantener la lista de objetos secundarios.

Class parentClass{ 
    IList<childClass> childList; 

    string varA; 
    string varB; 
} 

tengo que ser capaz de serializar esto a XML y la espalda, pero obviamente el IList me impide hacer esto, debido a NHibernate querer controlar la aplicación concreta de la IList, en este caso utilizando una bolsa.

Idealmente, quiero evitar tener DTO separadas solo para reemplazar la lista, ya que mi principal motivación para usar NHibernate fue poder usarlo con POCOs y no tener que crear un desagradable marco al respecto.

Soy consciente de poder tomar el control del proceso de serialización con ISerializable, pero de nuevo eso parece negar el uso de NHibernate en primer lugar para reducir la complejidad.

También el XML debe permanecer 'simple' ya que se usa para interactuar con terceros.

¿Cuál es la mejor manera de evitar esta limitación?

Gracias!

+0

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

+0

Supuse que no se trataba de un problema nuevo, pero no se pudo encontrar mucho más específico en este caso. Parece que los DTO son el camino recomendado para seguir. Molesto. – RSlaughter

+0

echa un vistazo a AutoMapper, hace las cosas más fáciles. –

Respuesta

Cuestiones relacionadas