Агрегирование данных с помощью LINQ и ASP.NET MVC - PullRequest
0 голосов
/ 28 апреля 2009

Предположим, у меня есть структура

Виджет

  • id
  • имя

и структура под названием

WidgetVoteCount

  • widgetId (от FK до Widget.ID)
  • numberOfVotes

Я хочу отображать экземпляры виджета вместе с соответствующим совокупным счетом в моем представлении

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 Ответ

4 голосов
/ 28 апреля 2009

Проверьте совокупный пример в LINQ 101 Samples:

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

В этом примере используется счетчик для получения списка клиентов и количества заказов, которые у каждого из них.

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

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

   ObjectDumper.Write(orderCounts); 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...