linq查询和结果按类别显示

时间:2010-06-14 11:53:34

标签: linq-to-sql asp.net-mvc-2 group-by

我想显示属于某个类别的项目列表,如下所示:

第I类

  • 第1项
  • 第2项
  • 第3项

第二类

  • 第6项
  • 第7项

第III类

  • 第10项
  • 第11项
  • 第12项
  • 第13项

最好(也是最简单)的方法是什么?我开始用两个查询来做这个 - 一个获取所有目标,然后在foreach循环中(在控制器中)我调用另一个查询来获取此类别中的所有项目,但事情变得复杂...我不知道什么类型的用于存储这些项目的对象以及如何将所有这些项目一起传递给视图。

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

选择:

var query = from item in itemstable
group item by item.category into y
select new { key = y.Key, grouping = y };

然后访问:

foreach(var g in query)
{
    //this is each grouping
    foreach(var item in query.grouping)
    {
        //this is each item in each group
    }
}