El 15 de febrero de 2011 13:12, Omar Eduardo Martinez
<[email protected]>escribió:

> Estoy trabajando con NHibernate, Visual Studio 08 y MySQL 5. Estoy
> probando el framework por primera vez, y ya pude grabar y leer sin
> problemas. Teniendo en cuenta que tengo clases relacionadas de 1 a
> muchos, parecido al tutorial de Dario Quintana sobre los Productos,
> LineasFactura y Facturas, cuando traiga por ejemplo todos mis
> registros/objetos de productos para cargarlos a un datagrid, voy a
> traer los productos y también las ventas de ese producto.
>

Lo que podes hacer en ese caso (y casi que tenes que hacer) es escribir un
query. Y dicho query va a dar como resultado una proyección de lo que queres
mostrar en la grilla. NHibernate tiene muchos mecanismos para escribir
query; Linq, HQL, QueryOver, Criteria y hasta sql.


>
> Mi pregunta es si se trabaja de esa manera o de otra forma?
> Y si fuera de esa manera, cargar una lista de 10000 productos con
> ventas de 5 años, no haría caer el rendimiento del sistema?
>

10.000 no es nada para nhibernate si haces las cosas bien. Si haces un
select de productos y cargas los otros datos por lazy load vas a tener un
problema conocido que se llama select+1.

Observación al margen; 10000 registros en datagrid van a cargar, pero en
serio que tu usuario puede recorrer y buscar algo en 10000? A mi me pone
loco que me muestren una lista de más de 20 cosas. Otro ejemplo que se me
ocurre es google, si no esta en la primer página o en la mitad de la segunda
página lo mas probable es que no este, nunca llego a la tercera. Pensa bien
esto, a no ser que necesites reportes u otro tipo de cosas.

-- 
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