Я использую NHibernate 3.2 и имею следующую модель:
class User
{
public virtual int Id { get; set; }
public virtual string Username { get; set; }
public virtual IList<Log> Logs { get; set; }
}
class Log
{
public virtual int Id { get; set; }
public virtual User User { get; set; }
public virtual DateTime Date { get; set; }
}
Теперь я хочу запросить у пользователя дату последней записи в журнале.
class UserDto
{
public int UserId { get; set; }
public string Username { get; set; }
public DateTime? LastLogDate { get; set; }
}
Как наиболее эффективно выполнить этот запрос с помощью NHibernate QueryOver или Linq?
Это SQL-запрос, который я хотел бы добавить:
SELECT u.Id as UserId,
u.Username as Username,
(SELECT TOP 1 l.Date
FROM [Userlog] l
WHERE l.User_id = u.Id) as LastLogDate
FROM [User] u