从HQL (NHibernate)的集合中抓取第一个实体

本文关键字:抓取 第一个 实体 集合 HQL NHibernate | 更新日期: 2023-09-27 18:16:09

假设我有一个类Manager,其(非索引)集合Employees。我想返回,比如说,所有最新的Employee未经训练的Managers。而不是必须选择Employee与最大StartDate,因此不得不比较所有这些日期,我想只是抓取Employees集合中的第一个结果,这将始终是最近的员工。我在HQL中有办法做到这一点吗?

相当于我当前的查询:

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,我只想在Manager中获取第一个Employee。

谢谢大家

从HQL (NHibernate)的集合中抓取第一个实体

如果它是一个索引集合(List),它就像manager.Employees[0]一样简单。

如果不是,就不存在"first"这种东西。

参见14.8表达式