Linq Проекция Количество по идентификатору - PullRequest
0 голосов
/ 23 ноября 2018

Я новичок в Linq Projection.Я просто хочу знать, как считать по Id.Мне нужно посчитать заказы для каждого клиента и среднюю цену заказа.

public IQueryable<TemporaryCustomerModel> GetCustomersWithOrdersCountAndAveragePrice()
    {
        var result = dataContext.Customers
        .Include(u => u.Order)
        .Select(r => new TemporaryCustomerModel()
        {
            Id = r.Id,
            FullName = r.Name + ' ' + r.Surname,
            Email = r.Email,
            Birthdate = r.Birthdate,
            Gender = r.Gender.GetName(),
            Orders = ???, //Count orders for every customer
            AvgPrice = ??? //Average order price
        });

        return result;
    }

1 Ответ

0 голосов
/ 23 ноября 2018

Предполагается, что ваш класс Customer содержит List<Order> Orders, а класс Order содержит поле Price

...
Orders = r.Orders.Count(),
AvgPrice = r.Orders.Average(o => o.Price)
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...