http://martinfowler.com/eaaCatalog/dataTransferObject.html


2009/1/16 uhilari <[email protected]>

>
> Hola
>
> Gracias, he entendido muy bien la idea, pero solo por cultura general
> pueden decirme que siginifica exactamente DTO?
>
>
> On 15 ene, 16:59, "Diego Ramirez" <[email protected]> wrote:
> > Yo creo que todas las respuestas son válidas. Lo mejor sería un DTO.
> > Probaste con implementar ICloneable en tu clase? Tal vez sea mejor que
> > recorrer toda la lista.
> > Creo que Dario habia tirado la solución.
> > Busca más en el grupo.
> >
> > El 15 de enero de 2009 19:20, Nelo Pauselli <[email protected]
> >escribió:
> >
> >
> >
> >
> >
> > > Recorré la lista original y crea una nueva con todos Clientes.
> >
> > > IList<Cliente> listaNueva = new List<Cliente>();
> > > foreach (Cliente c in listaOriginal)
> > >   listaNueva.Add(c)
> >
> > > y luego usas listaNueva para bindear al datagrid.
> >
> > > creo que con esto alcanza.
> >
> > > si no te funciona avisá que busco como había solucionado, creo que era
> así.
> >
> > > Saludos.
> > > Nelo.
> >
> > > PD: si es esto, el tema en de los controles, no en nh.
> >
> > > 2009/1/15 Gustavo Ringel <[email protected]>:
> > > > No tenes ningun problema en tener lineas que son parte de un proxy y
> > > lineas
> > > > que no siempre que hereden del mismo tipo.
> > > > Yo te explique cual es el problema que tenes en mi post y no tiene
> nada
> > > que
> > > > ver con el proxy sino con lazy load.
> > > > Si seguis una de mis dos sugerencias te va a andar.
> > > > Si no entendes las sugerencias no vuelvas a repetir la pregunta sino
> que
> > > > deci que es lo que no entendiste.
> >
> > > > Gustavo.
> >
> > > > 2009/1/15 uhilari <[email protected]>
> >
> > > >> OK.
> >
> > > >> No habia leido ello, pero ahora, como le hago para que todos sena
> del
> > > >> mismo tipo o para que funcione??
> >
> > > >> Gracias
> >
> > > >> On 15 ene, 14:48, "Gustavo Ringel" <[email protected]>
> wrote:
> > > >> > lee mi respuesta.
> >
> > > >> > 2009/1/15 uhilari <[email protected]>
> >
> > > >> > > He estado haciendo seguimiento y resulta que le primer item que
> me
> > > >> > > muestra es 'ClienteProxyd54f46bd7e53405899aa30d4a05960e8', y el
> > > >> > > segudon es simplemente Cliente, este puede ser el motivo???
> >
> > > >> > > Si es asi, como hago para que todos sean proxys o todos sean
> > > >> > > clientes???
> >
> > > >> > > Gracias
> >
> > > >> > > On 15 ene, 14:12, "Nelo Pauselli" <[email protected]>
> wrote:
> > > >> > > > ME PARECE que el problema está en que una grilla acepta solos
> > > >> > > > objetos
> > > >> > > > del mismo tipo como source y nh te está devolviendo tanto
> objetos
> > > >> > > > del
> > > >> > > > tipo que mencionas como proxies de objetos.
> >
> > > >> > > > Nelo.
> >
> > > >> > > > On Thu, Jan 15, 2009 at 4:39 PM, Gustavo Ringel
> >
> > > >> > > > <[email protected]> wrote:
> > > >> > > > > Quizas la respuesta es hacer algo un poco mas adecuado
> >
> > > >> > > > > 1) Lo mas sano es no mapear un objeto de NH a una grilla. Lo
> que
> > > >> > > > > es
> > > >> > > decir,
> > > >> > > > > de tu capa de negocios traes un objeto DTO o
> MyBindableClient, o
> > > >> > > > > como
> > > >> > > sea,
> > > >> > > > > que implementa INotifyPropertyChanged, y otras cosas que las
> > > >> > > > > clases
> > > >> > > > > bindables tienen que implementar.
> > > >> > > > > Ademas todo lo tenes bien planito, es decir, de un cliente
> traes
> > > >> > > > > el
> > > >> > > nombre,
> > > >> > > > > la direccion, pero no el objeto Address sino, la direccion
> en
> > > si,
> > > >> > > > > es
> > > >> > > decir
> > > >> > > > > aplanas todo segun lo que vas a mostrar.
> >
> > > >> > > > > 2) Supongamos que tu programa es chico y que podes aplanar
> la
> > > >> > > > > entidad
> > > >> > > madre
> > > >> > > > > y hacerla bindable...y que es justificable para no hacer
> crecer.
> > > >> > > > > bueno, pones algunas propiedades solo con get que aplanan
> > > Address
> > > >> > > > > y
> > > >> > > otras
> > > >> > > > > cosas es decir por ejemplo PostalCode { get {return
> > > >> > > > > address.PostalCode;
> > > >> > > } }
> > > >> > > > > y te aseguras que cuando levantas un cliente Address se
> fetchea,
> > > >> > > > > por
> > > >> > > medio
> > > >> > > > > de un join o un eager fetch. Y mapeas a la vista solo datos
> > > >> > > > > aplanados,
> > > >> > > nunca
> > > >> > > > > objetos (como Address en si)
> >
> > > >> > > > > Bueno, en realidad hay mas sugerencias, pero siguiendo 1 o
> 2, no
> > > >> > > > > te
> > > >> > > debierar
> > > >> > > > > ocurrir lo que te paso antes que en general se debe a lazy
> > > loading
> > > >> > > > > con
> > > >> > > > > sesion cerrada o a que trataste de asignar a un campo que
> > > marcaste
> > > >> > > > > como
> > > >> > > > > string un object...o cosas por el estilo.
> >
> > > >> > > > > Saludos.
> >
> > > >> > > > > Gustavo.
> >
> > > >> > > > > On Thu, Jan 15, 2009 at 6:52 PM, uhilari <[email protected]
> >
> > > >> > > > > wrote:
> >
> > > >> > > > >> Hola.
> >
> > > >> > > > >> Lo que pasa es que tengo el objeto Cliente mapeado a mi NH,
> y
> > > >> > > > >> guarda
> > > >> > > > >> normal, en us mantenimiento lo jala normal,
> > > >> > > > >> pero cuando lo abro en una grilla, para hacer la busqueda
> me
> > > bota
> > > >> > > > >> este
> > > >> > > > >> error
> >
> > > >> > > > >> TargetInvocationException
> > > >> > > > >> El descriptor de acceso de la propiedad 'Nom_per' inició la
> > > >> > > > >> excepción
> > > >> > > > >> 'El objeto no coincide con el tipo de destino.' en el
> objeto
> > > >> > > > >> 'SivNet.Entidades.Operaciones.Clases.Cliente'
> >
> > > >> > > > >> alguien puede darme una idea de por que pasa esto, he
> buscado
> > > por
> > > >> > > > >> todo
> > > >> > > > >> lado, pero no ubico donde puede estar el error.
> >
> > > >> > > > >> Gracias- Ocultar texto de la cita -
> >
> > > >> > > > - Mostrar texto de la cita -- Ocultar texto de la cita -
> >
> > > >> > - Mostrar texto de la cita -
> >
> > --
> > Ramirez, Diego Alcides
> > Ingeniero en Sistemas de Información
> > Tel:(+543731)-15405075
> > Blog:www.thedarsideofit.com.ar
> > Equipo de Desarrollo - VGM Sistemaswww.vgmsistemas.com.ar
> >
>

--~--~---------~--~----~------------~-------~--~----~
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano
-~----------~----~----~----~------~----~------~--~---

Responder a