【发布时间】:2010-02-04 04:47:37
【问题描述】:
我们使用 NHibernate 作为项目的 ORM,并且我们只有数据库只读功能。应用程序不会更新、删除或插入任何记录到数据库中,它只是在数据库中查询记录。
我的问题是在上述场景中使用 NHibernate 查询数据库的最佳方法是什么。
【问题讨论】:
标签: sql-server nhibernate
我们使用 NHibernate 作为项目的 ORM,并且我们只有数据库只读功能。应用程序不会更新、删除或插入任何记录到数据库中,它只是在数据库中查询记录。
我的问题是在上述场景中使用 NHibernate 查询数据库的最佳方法是什么。
【问题讨论】:
标签: sql-server nhibernate
你确定你真的需要 ORM 吗?
无论如何,使用 NHibernate 查询数据库有 3 个常用选项:
最简单的是3,最强的是1。
但我不太了解您的问题的性质,因为 NHiebrnate 中的查询 API 不是相互排斥的,而是它们相互叠加。
因此您可以根据情况使用其中任何一个:
【讨论】:
由于它是只读的,您可能没有太多用处将查询结果作为映射对象检索。结果集类型返回值可能更有用。为此使用session.createQuery,然后使用query.list
列表的每个元素都是一个对象数组。每个数组元素对应一个选择列。
【讨论】: