查询NHibernate

时间:2010-02-04 04:47:37

标签: sql-server nhibernate

我们使用NHibernate作为项目的ORM,我们只有数据库只读功能。应用程序不会更新,删除或插入任何记录到数据库中,它只是查询数据库中的记录。

我的问题是在上面描述的场景中使用NHibernate查询数据库的最佳方法。

2 个答案:

答案 0 :(得分:1)

你确定你真的需要一个ORM吗?

无论如何,使用NHibernate查询数据库有3个常用选项:

  1. HQL
  2. Criteria API
  3. LINQ的。
  4. 最简单的是3,最强大的是1。

    但我并不真正理解你问题的本质,因为NHiebrnate中的查询API 不是多余的,而是相互加起来。

    因此,您可以根据具体情况使用中的任何一种

    • 对于动态查询 - 最好是Criteria API。
    • 复杂且永不改变 - HQL。
    • 快捷方便 - Linq。

答案 1 :(得分:0)

由于它是只读的,因此您可能没有太多用途来检索查询结果作为映射对象。结果集类型返回值可能更有用。使用session.createQuery然后query.list 列表的每个元素都是一个对象数组。每个数组元素对应一个选择列。