多行到单行

时间:2018-08-15 14:04:29

标签: c# entity-framework

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

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

通过这种方式,我可以获得用户购买的所有产品的列表。现在我要计算单个产品的总金额。没关系,我只花了多少时间购买了所有产品的清单,如果一个产品购买了多个产品,那么只需计算整个价格即可。

1 个答案:

答案 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) })