2010-06-16 40 views
18

我需要使用nHibernate检索表中的所有记录。如果我有表中所有记录的关键字,我可以循环并使用nHibernate的Get方法(虽然这看起来效率很低),但我没有密钥。我也可以使用FindAll,但这需要标准或存储过程。使用nHibernate检索表中的所有记录

如何从表中获取所有记录?

回答

35

SQL表映射类,因此,以便从你编写一个查询(HQL或条件)表中检索所有记录中获取的所有对象给定类型的映射到此表:

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

或使用HQL:

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

或LINQ:

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

如果我理解正确的话,你基本上创建C riteria没有限制? – brainimus 2010-06-16 13:45:40

+0

到底是不是要求? – Jaguar 2010-06-16 14:05:13

+0

是的。我只是想确保我知道发生了什么事。谢谢! – brainimus 2010-06-17 15:15:26

相关问题