Si estas haciendo la transformacion de entidades a dtos, en esencia estas obteniendo un result rest. Puede que te convenga tener una vista en la base de datos y hacer el query directo ahi.
10000 objectos? necesitas desplegarlos todos al mismo tiempo? podrias reducir la cantidad, capaz, con paging. Si tu modelo lo amerita, no veo objeciones el porque no podas utilizar las entidades en lugar de los dto en tu grilla. A no ser que tengas una capa en medio del cliente y el service, algo tipo wcf... en ese caso, siemre podes lograrlo siempre y cuando tus intenciones no sean de hacer mano de lazy loading... On Jan 4, 10:54 am, Felipe <[email protected]> wrote: > Necesito desplegar una grilla, la cual actualmente estoy transformando > de un grafo de objetos persistentes a DTOs. > Lamentablemente el rendimiento es muy bajo, ya que cada celda de la > grilla es una instancia, e incluso se combina una fila con celdas que > provienen de otros objetos persistentes. Dado lo anterior hay que > hacer un manejo importante a nivel de DTO, por lo cual armo algunos > Dictionary para mejorar la eficiencia y además dado que la grilla es > jerárquica. > > Probé utilizando el comando "select new ClaseDTO(parametros)" para ver > la mejora de rendimiento, y es notoria. Actualmente estoy recuperando > cerca de 10.000 objetos, y esto afecta no sólo la recuperación, sino > también el cierre de la Sesión. > > El problema es que dado que la estructura es compleja, el constructor > de la ClaseDTO es enorme, y quería ver si existía alguna alternativa > de que NHibernate me devolviera el grafo de objetos sin ningún tipo de > control (persistence manager), de este modo usa las entidades como > DTOs o Bean transientes o "detached" y debiera disminuir el tiempo de > carga. > > La pregunta obvia es, ¿Es esto posible?, ¿mejoraría el rendimiento? > > Gracias, -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
