fetching batch linq nhibernate

batch - Nhibernate 3 y LINQ



nhibernate fetch (2)

En NHibernate 3 con Linq haces esto:

from u in session.Query<User>() where u.Username == username select u

O

session.Query<User>().Where(u => u.Username == username)

No estoy seguro si esto es lo que estás buscando.

EDITAR: Query<T> es un método de extensión. No olvide agregar el using NHibernate.Linq para poder usarlo.

Estoy convirtiendo algún código de Nhibernate 2.xa 3.0. Antes, estaba usando el complemento LINQ, para obtener soporte de LINQ. Mi entendimiento fue que en 3.0 se incorporó como una característica de primera clase. Así que mi pregunta es, solía tener esto:

return new List<T>(session.Linq<T>().Where(where));

¿Cómo se ve eso con la nueva sintaxis? Revisé los documentos y el tutorial de nhib 3 y no vi nada sobre las cosas de linq, así que no pude encontrar un ejemplo para seguir el patrón.


No hay nueva sintaxis. Linq sigue siendo linq. El método llamado Linq en el proveedor anterior se denomina Consulta en el nuevo.

En lugar de la nueva Lista (enumerable), puede usar enumerable.ToList () para evitar cargar todos los objetos en la lista con una consulta SQL separada.