无法使用NHibernate LINQ进行GroupBy

本文关键字:LINQ 进行 GroupBy NHibernate | 更新日期: 2023-09-27 18:28:41

我很难对实体执行简单分组。代码的错误行是

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

这给了我以下Hibernate异常:

无法识别查询源:ItemName=<生成>_ 1,ItemType=EverifyCaseJob,表达式=来自[ec]中的EverifyCaseJob_1

如果我做jobQuery.ToList(),一切都很好——所以我想问题出在GroupBy()上"查询源"可以被识别为,因为我到处都在使用这个实体,但到目前为止还没有与GroupBy()结合使用。

有什么想法吗?

另外,有人能解释一下错误信息的含义吗?

NHibernate版本为4.0.3.4000

我还使用Fluent NH 2.0.1.0版

无法使用NHibernate LINQ进行GroupBy

Sql是基于集合的,在分组组中没有顺序。因此,它在组中没有最后一个的含义,因此NHibernate无法将其转换为sql。另一边的最大值是为一个集合定义的,并且会很好地工作。