EF query cast from TakeResultOperator to GroupResultOperator error

Viewed 177
_dailySaleReportRepository.GetAll().Where(filter).GroupBy(p => p.StoreId).PageBy(input).Select(p => new DailySaleReportSearchResult()
        {
            StoreId = p.Key,
            StoreName = p.FirstOrDefault().StoreName,
            ParkName = p.FirstOrDefault().ParkName,
            AliMoney = p.Sum(g => g.AliMoney),
            CashMoney = p.Sum(g => g.CashMoney),
            CouponMoney = p.Sum(g => g.CouponMoney),
            DiscountAmount = p.Sum(g => g.DiscountAmount),
            FtMoney = p.Sum(g => g.FtMoney),
            MutonePayMoney = p.Sum(g => g.MutonePayMoney),
            MutoneTradeMoney = p.Sum(g => g.MutoneTradeMoney),
            OrederNumbers = p.Sum(g => g.OrederNumbers),
            RefundAmount = p.Sum(g => g.RefundAmount),
            RefundNumbers = p.Sum(g => g.RefundNumbers),
            TotalAmount = p.Sum(g => g.TotalAmount),
            TradeAmount = p.Sum(g => g.TradeAmount),
            WxMoney = p.Sum(g => g.WxMoney),
        }).ToList()

when I use this code to get a sum value I got an error

"Unable to cast object of type 'Remotion.Linq.Clauses.ResultOperators.TakeResultOperator' to type 'Remotion.Linq.Clauses.ResultOperators.GroupResultOperator'."

but when I first cast group to dictionary then use select ,it will work well.

0 Answers
Related