2010-06-16 12 views
18

Necesito recuperar todos los registros en una tabla con nHibernate. Si tuviera la clave para todos los registros en la tabla, podría hacer un bucle y usar el método Get de nHibernate (aunque esto parece ineficaz) pero no tengo las claves. También podría usar FindAll pero esto requiere criterios o un procedimiento almacenado.Recuperar todos los registros en una tabla con nHibernate

¿Cómo puedo obtener todos los registros de la tabla?

Respuesta

35

tablas SQL se asignan a clases por lo que con el fin de recuperar todos los registros de una tabla se escribe una consulta (HQL o Criteria) que recupera todos los objetos de una determinada mecanografiado asignada a esta tabla:

var products = session.CreateCriteria<Product>().List<Product>(); 

o el uso de HQL:

var products = session.CreateQuery("from " + typeof(Product)).List<Product>(); 

o LINQ:

var products = session.Linq<Product>().ToList() // 2.x contrib provider 
var products = session.Query<Product>().ToList() // 3.x integrated provider 
+0

Si he entendido bien, que, básicamente, crear c riteria sin restricciones? – brainimus

+0

exactamente, ¿no es ese el requisito? – Jaguar

+0

Sí. Solo quería asegurarme de que sabía lo que estaba pasando. ¡Gracias! – brainimus

Cuestiones relacionadas