【问题标题】:Retrieve all records in a table with nHibernate使用 nHibernate 检索表中的所有记录
【发布时间】:2010-06-16 23:23:23
【问题描述】:

我需要使用 nHibernate 检索表中的所有记录。如果我有表中所有记录的密钥,我可以循环并使用 nHibernate 的 Get 方法(虽然这似乎效率低下)但我没有密钥。我也可以使用FindAll,但这需要条件或存储过程。

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

【问题讨论】:

    标签: nhibernate


    【解决方案1】:

    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
    

    【讨论】:

    • 如果我理解正确的话,您基本上可以无限制地创建标准?
    • 没错,这不是要求吗?
    • 是的。我只是想确保我知道发生了什么。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2014-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多