NHibernate: помогите перевести hql-запрос, чтобы вместо него использовать критерии api - PullRequest
0 голосов
/ 20 июля 2010

У меня есть следующий hql-запрос, который я хотел бы переключить на API критериев

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 

Очевидно, что начальные свойства в строке выбора тривиальны (Projection.Property); мой вопрос ... как мне сопоставить оставшиеся 4 свойства?

У меня есть собственный диалект, который регистрирует dbo.GetActivityStartDate и dbo.GetActivityEndDate в качестве стандартных функций SQL - так что о многих уже позаботились.

1 Ответ

0 голосов
/ 20 июля 2010

Итак ... оказалось, что мне нужно зарегистрировать функцию "ISNULL" на моем собственном диалекте; как только я это сделал, было просто использовать функцию Projection.Sql для извлечения данных в требуемом формате.

...