Я пытаюсь выполнить группу по запросу Linq с NH3.
Зная основные трудности SQL, я знаю, что это невозможно, но в идеале я хотел бы сделать группу сущностью и получить ее полностью.
Что-то вроде:
var list = from proposals in Session.Query<Proposal>()
group proposals by proposals.Job
into jobGrouping
select new {
Job = jobGrouping.Key,
TotalProposals = jobGrouping.Count()
};
Это создает недопустимый запрос SQL, поскольку он пытается получить всю сущность Job, но группирует только по ее идентификатору.
Я пробовал группировать по составному полю:
var list = from proposals in Session.Query<Proposal>()
group proposals by new { proposals.Job.Name, proposals.Job.Status}
into jobGrouping
select new {
Job = jobGrouping.Key.Name,
Status = jobGrouping.Key.Status,
TotalProposals = jobGrouping.Count()
};
Но всякий раз, когда я пытаюсь это сделать, я получаю исключение, когда NHibernate пытается построить дерево выражений:
Элемент с таким же ключом уже добавлен.
Кто-нибудь знает, есть ли способ сделать это с помощью NHibernate?
Спасибо,
Илан