SQL-запрос к linq-to-entity - PullRequest
       1

SQL-запрос к linq-to-entity

1 голос
/ 28 августа 2010

Как этот запрос можно преобразовать в linq

SELECT materialId, SUM(totalAmount) as quantity FROM Inventory

Это та сумма, которую я не знаю, как ...

  query = from inv in context.Inventory
                        select new MaterialQuantity() 
                        {
                            MaterialId = inv.materialId,
                            Quantity = ??
                        };

EDIT Попытка суммировать значение totalAmount.

Это вид, который

materialId totalSum and other fields
1          5
1          10
1          20

Итак, я хочу, чтобы мой linq вернул мне MaterialId = 1, количество = 35

1 Ответ

1 голос
/ 28 августа 2010

Я собираюсь дать полное предположение здесь ... предполагая, что ваш инвентарь состоит из нескольких строк с одинаковым materialId и вы хотите суммировать в этих группах, вы можете использовать:

var query = from inv in content.Inventory
            group inv.totalAmount by inv.materialId into g
            select new { MaterialId = g.Key, Quantity = g.Sum() };

Если вы не пытаетесь группировать, вам нужно уточнить свой вопрос. Примерные данные и ожидаемый результат помогут.

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