NHibernate:帮助将hql查询转换为使用CriteriaAPI

NHibernate:帮助将hql查询转换为使用CriteriaAPI,nhibernate,hql,criteria-api,Nhibernate,Hql,Criteria Api,我有下面的hql查询,我想切换到CriteriaAPI select a.Id as Id, a.Name as Name, a.ActiveStatus as ActiveStatus, dbo.GetActivityStartDate(a.Id) as StartDate, dbo.GetActivityEndDate(a.Id) as EndDate, coalesce(ac.Id,0) As CategoryId, coalesce(ac.Name,'') As Category

我有下面的hql查询,我想切换到CriteriaAPI

select a.Id as Id, a.Name as Name, a.ActiveStatus as ActiveStatus, 
dbo.GetActivityStartDate(a.Id) as StartDate, 
dbo.GetActivityEndDate(a.Id) as EndDate, 
coalesce(ac.Id,0) As CategoryId, 
coalesce(ac.Name,'') As CategoryName 
from Activity as a 
left outer join a.Category as ac 
显然,选择线上的初始属性是平凡的投影;我的问题是..如何映射剩余的4个属性


我有一个自定义方言,它将dbo.GetActivityStartDate和dbo.GetActivityEndDate注册为标准SQL函数,因此已经处理了很多问题。

所以…我需要用自定义方言注册ISNULL函数;一旦我这样做了,就只需使用Projections.SqlFunction以我需要的格式提取数据