У меня есть SQL-запрос, который мне нужно представлять с помощью API ICriteria от NHibernate.NHibernate - присоединение к подзапросу с использованием ICriteria
SELECT u.Id as Id,
u.Login as Login,
u.FirstName as FirstName,
u.LastName as LastName,
gm.UserGroupId_FK as UserGroupId,
inner.Data1,
inner.Data2,
inner.Data3
FROM dbo.User u inner join
dbo.GroupMember gm on u.Id = gm.UserAnchorId_FK
left join
(
SELECT
di.UserAnchorId_FK,
sum(di.Data1) as Data1,
sum(di.Data2) as Data2,
sum(di.Data3) as Data3
FROM
dbo.DailyInfo di
WHERE di.Date between '2009-04-01' and '2009-06-01'
GROUP BY di.UserAnchorId_FK
) inner ON inner.UserAnchorId_FK = u.Id
WHERE gm.UserGroupId_FK = 195
попытки до сих пор включила отображение «User» и классы «DailyInfo» (мои лица) и делает DailyInfo объект свойства объекта пользователя. Однако, как отобразить отношение внешнего ключа между ними до сих пор загадка, т.е.
<one-to-one></one-to-one>
<one-to-many></one-to-many>
<generator class="foreign"><param name="property">Id</param></generator> (!)
Решения в Интернете, как правило, делать с подзапросов внутри ИНЕКЕ, однако мне нужно налево присоединиться на этот подзапрос вместо убедитесь, что значения NULL возвращены для строк, которые не присоединяются.
У меня такое ощущение, что я должен использовать критерий для внешнего запроса, а затем создать «join» с DetachedCriteria для представления подзапроса?