猿问

多行到单行

我从数据库中获取多行,但我想在一行中获取多行。

var result = db.USER_PRODUCT_INGRED_ASSIGN
               .Where(x => x.AspNetUser.UserName == User.Identity.Name)
               .GroupBy(x => x.PRODUCT.PID).ToList();

通过这种方式,我得到了用户购买的所有产品的列表。现在我想计算单个产品的总量。不管,它买了多少时间,我只想列出所有产品,如果一个产品购买了多个,只需计算整个价格。


冉冉说
浏览 176回答 1
1回答

慕田峪4524236

如果您想要每个产品的总和,您需要使用 aggregate Sum。我不知道您的价格/金额栏的名称。但是你的代码应该是这样的:db.USER_PRODUCT_INGRED_ASSIGN                .Where(x => x.AspNetUser.UserName == User.Identity.Name)                .GroupBy(x => x.PRODUCT.PID)                .Select(g => new{ PID = g.Key, TotalSum = g.Sum(x => x.PRODUCT.Amount) })
随时随地看视频慕课网APP
我要回答