c# - 使用 lambda ID(distinct) 和特定 ID 的计数从列表中返回 2 个属性?

标签 c# mysql asp.net linq

ASP.NET MVC(使用 VS2015 的 C#),尝试在 scool 项目中构建一个简单的网上商店。

所以我有一张 table ,上面列出了具有以下属性的食物菜肴 ID名称说明价格类型

List<food> model = (List<food>)Session["shoppingbasket"];

我想在下订单之前获取不同的disches(ID)的数量和数量。

这可能吗?

尝试过类似的事情:

int total = model.Select(i => i.foodID).Distinct().Count();

但是当然这只会返回我的列表中不同菜肴的数量。

我需要列出 ID 以及该特定 ID 的计数。这可能吗?

最佳答案

您必须在 FoodID 上使用 GroupBy,然后投影结果以获得 FoodID ,其计数如下:

var result = model.GroupBy(i => i.foodID)
                  .Select(x=>new { DishID = x.Key,Count = x.Count()})
                  .ToList();

关于c# - 使用 lambda ID(distinct) 和特定 ID 的计数从列表中返回 2 个属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34854502/

相关文章:

c# - 比较两个列表时单元测试失败

c# - 如何使用 LINQ 在 C# 中连接两个 List<string>

asp.net - StackOverFlow 上的页面查看计数器

c# - 对象上的 IQueryable 集合惰性属性设置

c# - 为什么 List<T>.Enumerator 比我的实现更快?

C# PowerShell 管道输入标志/属性

mysql - 我想将一个表中的一列链接到与 mysql 中另一个表相同的列名,以便我能够执行添加、更新、删除操作

mysql - 无法弄清楚 SQL 语法有什么问题

php - WP 插入帖子不起作用

c# - 标签存储 <div id ="test">可变内容</div>(带有html标签)带有html标签