2010-05-03 34 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...