Я пытаюсь выполнить группу по запросу Linq с NH3. Зная трудности SQL, связанные с подписчиками, я знаю, что это невозможно, но в идеале я хотел бы сделать группу сущностью и получить ее в полном объеме. Что-то вроде:Не удается получить группу по объектам или с помощью составных ключей с Linq Nhibernate
var list = from proposals in Session.Query<Proposal>()
group proposals by proposals.Job
into jobGrouping
select new {
Job = jobGrouping.Key,
TotalProposals = jobGrouping.Count()
};
Это создает недопустимый запрос SQL, как он пытается восстановить весь объект работы, но группа только его Id.
Я попытался группировками композитного поля:
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 tryes построить дерево выражения:
элемент с тем же ключом уже добавлен.
Кто-нибудь знает, есть ли способ сделать это с помощью NHibernate?
Спасибо, Илан
+1 У меня такая же проблема –
https://nhibernate.jira.com/browse/NH-3027 имеет отношение к вашей (первой) проблеме - она остается неразрешенной с NH 3.2 –