2013-05-29 2 views
0

Предположим, у меня есть класс Manager с (неиндексированной) коллекцией Employees. Я хочу вернуть, скажем, все Managers, чьи новейшие Employee неподготовлены. Вместо того, чтобы выбирать Employee с максимальным StartDate, поэтому, чтобы сравнить все эти даты, я хотел бы просто взять первый результат в коллекции Employees, который всегда будет самым последним сотрудником. Есть ли способ сделать это в HQL?Перенесите первый объект из коллекции в HQL (NHibernate)

Эквивалент моего текущего запроса:

select manager 
from Managers as manager 
join manager.Employees as employee 
where employee.StartDate = (select max(emp.StartDate) from manager.Employees as emp) 
and employee.Trained = 0 

Вместо того чтобы найти самый последний Employee через это StartDate, я бы хотел, чтобы захватить первый сотрудник в коллекции Manager.Employees и использовать.

спасибо ребята :)

ответ

1

Если это индексированный коллекция (List), это так же просто, как manager.Employees[0].

Если это не так, нет такой вещи, как «первая».

См. 14.8 Expressions

Смежные вопросы