我在 MS SQL 中定义了一个数据库密集型函数,用于计算对象的只读属性 ( LastCompletedDate
) Inspection
。我通常不需要这些信息,所以我不会将其映射到Inspection.hbm.xml
.
当我确实需要信息时,我想获取一个 IEnumerable 集合Inspections
,查询数据库以找到它们LastCompletedDate
,然后为每个集合填写。理想情况下,无需为每个Inspection
. 我很难在 NHibernate 中找到一种方法来做到这一点(我是 NHibernate 的相对新手)。我在想类似的东西:
CurrentSession.CreateQuery(
"select InspectionId, dbo.fn_GetLastCompletedDate(InspectionId)
from Inspection where InspectionId in :idList")
.SetParameter("idList", from InspectionList select InspectionId)
.List();
然后是一个循环来提取日期并将它们添加到检查对象中。
有一个更好的方法吗?我需要什么语法?