Mam następujące kwerendy LINQ, który używa NHibernate przeciwko SQL Server kopii repozytorium ...NHibernate LINQ Group By nie trafia do grupy prawidłowo w 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();
jednak twierdzi, że SQL Server jest w stanie grupie przez kolumnę CaseOwner.Name
, ponieważ nie jest ona zawarta w liście wyboru lub klauzuli grupy. Pochodzę ze świata baz danych Rozumiem ten błąd, ale nie jestem pewien, jak wymusić NHibernate na grupę zarówno przez Id
i Name
, ale wciąż mam encję CaseOwner
dostępną dla mnie w moim Select.