我需要用nHibernate检索表中的所有记录。如果我有表中所有记录的键,我就可以循环并使用nHibernate的Get
方法(虽然这似乎效率很低),但我没有键。我也可以使用FindAll
,但这需要条件或存储过程。
我怎样才能从表中获得所有记录?
发布于 2010-06-16 21:13:04
SQL表映射到类,因此为了从表中检索所有记录,您可以编写一个查询(HQL或Criteria)来获取映射到该表的给定类型的所有对象:
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
https://stackoverflow.com/questions/3053470
复制相似问题