Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
86 / 13 / 1
Регистрация: 24.05.2010
Сообщений: 590
.NET 4.x

Не могу составить запрос с группировками в Entity Framework 6

20.06.2018, 10:13. Показов 963. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет!

Есть Entity Framework 6.

Есть 2 таблицы в базе данных:

[PaymentRequests]:
[Id]
,[Date]

[Payments]:
[Id]
,[PaymentRequestId]
,[Amount]
Первая - это запросы на оплату, вторая - это суммы оплаты по конкретному запросу. Одной записи из первой таблицы может соответствовать несколько записей из второй.

На SQL-е запрос выглядит как-то так:

SQL
1
2
3
4
5
6
7
8
SELECT
      [PaymentRequests].[Id] AS Id,
      MIN(PaymentRequests].[DATE]) AS DATE
      SUM([Payments].[Amount])
FROM
      [PaymentRequests] AS [PaymentRequests]
      LEFT JOIN [Payments] AS [Payments]
            ON [PaymentRequests].Id = [Payments].[PaymentRequestId]
Нужно выполнить этот запрос с помощью Entity Framework. Пробую:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var aaa = db.PaymentRequests.Where(pr => pr.Id == id).
    Join(
        db.Payments, pr => pr.Id,
        p => p.PaymentRequestId,
        (pr, p) => new
        {
            PaymentRequestId = pr.Id,
            PaymentRequestDate = pr.Date,
            PaymentAmount = p.Amount
 
        }
    ).
    GroupBy(g => g.PaymentRequestId).
    Select(g => new
        {
            g.Key,
            g.Min(a => a.PaymentRequestDate),
            g.Sum(a => a.PaymentAmount)
        }
    );
Строки

C#
1
2
g.Min(a => a.PaymentRequestDate),
g.Sum(a => a.PaymentAmount)
подсвечиваются студией с такими сообщениями:



Как это исправить?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.06.2018, 10:13
Ответы с готовыми решениями:

Нужно составить запрос с группировками
Нужно из таблицы достать строки только те, которых по количеству больше определённого значения с заданным ключом. Т.е. есть таблица...

Как посмотреть T-SQL запрос который генерирует Entity Framework запрос
как посмотреть T-SQL запрос который генерирует Entity Framework запрос в visual studio 2010, 2012

В чем разница между Entity Framework и Entity Framework Core?
В чем разница (если она есть) между entity framework и entity framework core?

4
Эксперт .NET
 Аватар для Usaga
14308 / 9389 / 1355
Регистрация: 21.01.2016
Сообщений: 35,410
20.06.2018, 11:26
V0fka, SQL-Запрос некорректный. Там группировкой и не пахнет.
0
86 / 13 / 1
Регистрация: 24.05.2010
Сообщений: 590
20.06.2018, 11:37  [ТС]
Usaga, писал на ходу, упуслил GROUP BY [PaymentRequests].[Id].

Вопрос вроде решил:

C#
1
2
3
4
5
6
Select(g => new
        {
            Id = g.Key,
            PaymentRequestDate = g.Min(a => a.PaymentRequestDate),
            PaymentAmount = g.Sum(a => a.PaymentAmount)
        }
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
20.06.2018, 12:10
Цитата Сообщение от V0fka Посмотреть сообщение
На SQL-е запрос выглядит как-то так
В заголовке фигурирует слово "группировка", при этом в запросе никакого GROUP BY нет ?
0
86 / 13 / 1
Регистрация: 24.05.2010
Сообщений: 590
20.06.2018, 16:28  [ТС]
Grossmeister, выше уже отписал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.06.2018, 16:28
Помогаю со студенческими работами здесь

Запрос строки в Entity Framework
Добрый день, форумчане! Подскажите пожалуйста, как средствами фреймворка можно получить запись в таблице по, предположим, Id? Я не...

Вложенный запрос в entity framework
у меня есть две таблицы: персонал и должности, которые я соединяю и хочу посчитать, сколько раз повторяется одна должность и соотношение...

Entity Framework запрос с Include по условию
Всем привет. Помогите, не могу составить простейший запрос. Есть сущность продукт и категории. Один продукт может находится сразу во...

Entity Framework. Запрос с вычисляемой колонкой
Есть запрос вида: select *, DATEDIFF("YEAR", DateOfBirth, GETDATE()) as Diff from Runner Как мне провернуть на...

Написать запрос на Entity Framework из SQL
Добрый час суток! Только начинаю изучать Entity Framework,подскажите пожалуйста как написать такой вот запрос на EF? select...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru