Ho la seguente query LINQ che utilizza NHibernate contro un repository sostenuto SQL Server ...NHibernate Linq Raggruppa per gruppo non riesce a correttamente in SQL Server
var casesByCaseOwner = this.preGrantDetailRepository.All
.Where(x => x.CaseFileLocation.Id == cflId)
.GroupBy(x => x.CaseOwner)
.Select(x => new StagSummaryForCfItem
{
Id = x.Key.Id,
Description = x.Key.Name,
NumberOfCases = x.Count(),
UninvoicedNetFee = x.Sum(y => y.UninvoicedNetFee),
UninvoicedDisbursement = x.Sum(y => y.UninvoicedDisbursement)
}).AsEnumerable();
Tuttavia, si lamenta che SQL Server è in grado di gruppo dalla colonna CaseOwner.Name
perché non è contenuta nell'elenco di selezione o nella clausola di gruppo. Provenendo da un mondo di database, capisco quell'errore, tuttavia, non sono sicuro di come forzare NHibernate a raggruppare sia da Id
sia da Name
ma ho ancora l'entità CaseOwner
a mia disposizione nel mio Seleziona.