En aplicaciones distribuidas te conviene pasar DTO ( http://en.wikipedia.org/wiki/Data_transfer_object, http://martinfowler.com/eaaCatalog/dataTransferObject.html) y no la entidad real. En el DTO cargas todo lo que sea necesario para el caso de uso en el que se usa el Servicio.
La idea es que no queres poner todo el dominio en conocimiento del cliente, sino solo una proyeccion que es lo que el cliente necesita en un caso de uso. La pregunta vale para Datasets, NH, EF o cualquier otra estrategia de datos... Gustavo. 2010/9/2 Juan Cuello <[email protected]> > Hola buenas, > > Tengo una duda importante a cerca del uso de NHibernate en > aplicaciones distribuidas. > > El contexto en el que me encuentro es una aplicación cliente que > consume datos a través de WCF a un backend. Este backend trata los > datos con NHibernate. > > Si al solicitar una entidad al backend, dicha entidad tiene relaciones > 1 a n con otras entidades o 1 a 1 y estas relaciones se cargan > mediante lazy-loading, puede pasar: > > - Da error al serializar > - El cliente recibe la entidad sin las entidades relacionadas > - El cliente recibe todo el árbol de entidades (no lo creo...) > > Mi pregunta es: > > En aplicaciones distribuidas, ¿cómo debe realizarse la interacción con > NHibernate en cuanto a la carga de datos? ¿Debo olvidarme de lazy > loading? En las demás operaciones supongo que es suficiente con > realizar una petición por cada cambio... aunque no sé si es > correcto... > > Cualquier respuesta, link, etc será bienvenido > > Muchas gracias > > -- > Para escribir al Grupo, hágalo a esta dirección: > [email protected] > Para más, visite: http://groups.google.com/group/NHibernate-Hispano -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
