11
で正しくグループに失敗した...NHibernateはLINQのグループ化は、私はリポジトリを裏付けSQL Serverに対してNHibernateはを使用して、次のLINQクエリを持っている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();
しかし、それはSQL Serverがグループにできないと文句を言いCaseOwner.Name
列は、選択リストまたはグループ句に含まれていないためです。しかし、データベースの世界から来て私は、エラーは、私はどのようにNHibernateをグループ化してId
とName
を強制するか分からないが、まだCaseOwner
エンティティを私の選択で利用できるようにしています。私は答えは最後に...
var casesByCaseOwner = this.preGrantDetailRepository.All
.Where(x => x.CaseFileLocation.Id == cflId)
.GroupBy(x => new { x.CaseOwner.Id, x.CaseOwner.Name })
.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();
return casesByCaseOwner;
これはnicley作品見つけ