2010-05-03 29 views
1

我有一种情况,我绝对不想获得整个域对象。基本上,实体具有long(.NET)/ bigint(sql server 2005)的主键。我只需要将主键传递给直接访问数据库的外部系统,并且由于ID列表可能很大,我不想为了获得ID而重新使用整个域对象。NHibernate - 获取列表<long>表示主键?

在linq2sql中,我可以通过投影完成此任务,但我仅限于NHibernate 1.2.1.4000,它不支持Linq。

有没有办法使用NHibernate 1.2.1.4000来完成这项工作?

(我愿意用命名查询,如果将工作)

回答

1

ICriteria.SetProjection(IProjection p)可在NHibernate的1.2。

您也可以使用HQL(在或不在指定查询中)进行预测,例如:select id from Person where...