2015-12-30 8 views
0

Je rencontre des difficultés pour effectuer un regroupement simple sur mes entités. La ligne de failles du code estImpossible de GroupBy avec NHibernate LINQ

var xxx = jobQuery.GroupBy(j => j.EverifyCase) 
    .Select(g => new { EC = g.Key, MRJ = g.Last() }) 
    .ToList(); 

Cela me donne l'HibernateException suivante:

la requête source n'a pas pu être identifié: ItemName = < généré> _1, ItemType = EverifyCaseJob, expression = de EverifyCaseJob _1 dans [ec]

Si je fais jobQuery.ToList() tout est Peachy - donc je suppose que le problème est avec le GroupBy() La "source de requête" pourrait être identifiée comme comme j'utilise cette entité partout, mais pas en conjonction avec GroupBy() jusqu'ici.

Des idées?

Aussi, quelqu'un pourrait-il expliquer ce que le message d'erreur signifie?

la version NHibernate est 4.0.3.4000

J'utilise aussi NH Courant - Version 2.0.1.0

+0

Quel est le type de 'EverifyCase'? –

+0

'EverifyCase' est simplement une autre entité mappée ** correctement **, utilisée partout. C'est en fait le maître dans la relation maître-enfant avec l'EverifyCaseJob. La multiplicité de cette relation est un-à-plusieurs. –

+0

L'exception est large, mais cela signifie simplement que ce type de requête n'est pas pris en charge. Le problème ici avec '.Last()' – hazzik

Répondre

0

Sql est mis en fonction et n'a pas pour dans un groupe de regroupement. Par conséquent, NHibernate ne peut pas le traduire en sql. Max de l'autre côté est bien défini pour un ensemble et fonctionnera bien.