我从数据库中获取多行,但我想在一行中获取多行。
var result = db.USER_PRODUCT_INGRED_ASSIGN
.Where(x => x.AspNetUser.UserName == User.Identity.Name)
.GroupBy(x => x.PRODUCT.PID).ToList();
通过这种方式,我可以获得用户购买的所有产品的列表。现在我要计算单个产品的总金额。没关系,我只花了多少时间购买了所有产品的清单,如果一个产品购买了多个产品,那么只需计算整个价格即可。
答案 0 :(得分:1)
如果要每个产品的总和,则需要使用汇总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) })