使用LINQ和ASP.NET MVC聚合数据

时间:2009-04-28 06:19:14

标签: asp.net-mvc linq linq-to-sql

假设我有一个结构

的widget

  • id
  • 名称

和一个名为

的结构

WidgetVoteCount

  • widgetId(FK to Widget.ID)
  • numberOfVotes

我想在我的视图

上显示Widget的实例以及相应的聚合计数
WIDGET-TITLE     WIDGET-COUNT(which is the sum of WidgetVoteCount.numberOfVotes)
Blue Widget       5
Purple Widget     6
etc               etc

所以我创建了自己的类型,我将其传递到我的视图中

Public Class WidgetWithCounts
{
    public Widget widget;
    public Int widgetCount;
}

有人可以帮我一个LINQ查询,我可以在我的控制器中启动这个WidgetWithCounts类吗?我可以用一个查询来完成这个吗?

1 个答案:

答案 0 :(得分:4)

查看LINQ 101样本中的聚合示例:

http://msdn.microsoft.com/en-us/vcsharp/aa336747.aspx#countSimple

  

此示例使用Count返回客户列表以及每个订单的订单数。

public void Linq76() { 
   List customers = GetCustomerList();

   var orderCounts = 
      from c in customers 
      select new {c.CustomerID, OrderCount = c.Orders.Count()};

   ObjectDumper.Write(orderCounts); 
}