Использование агрегата MAX в запросе Entity Framework/LINQC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Использование агрегата MAX в запросе Entity Framework/LINQ

Сообщение Anonymous »


У меня есть проект, в котором мне нужно использовать Entity Framework Core 7 для базы данных MSSQL, но я застрял в использовании агрегата MAX в SQL как части оператора LINQ.

Учитывайте следующие данные:

Создать таблицу #Member ( MemberID intident(1,1) первичный ключ, Имя VarChar(20) ) Создать таблицу #QuestLog ( Первичный ключ QuestID intident(1,1), MemberID целое число, Квест ВарЧар(20), GoldCollected Int, МонстрыDispatched Int ) Это данные для этих таблиц:

Вставить #Member(FirstName) Values('Wealda') Вставить значения #Member(FirstName)('Tunbin') Вставить значения #Member(FirstName)('Ealhart') Вставить значения #Member(FirstName)('Rancent') Вставьте значения #QuestLog(MemberID, Quest, GoldCollected, MonstersDispatched) (1, «1000 дверей», 100, 6) Вставьте значения #QuestLog(MemberID, Quest, GoldCollected, MonstersDispatched) (1, «1000 дверей», 50, 100) Вставьте значения #QuestLog(MemberID, Quest, GoldCollected, MonstersDispatched) (1, «1000 дверей», 75, 2) Вставьте #QuestLog(MemberID, Quest, GoldCollected, MonstersDispatched) Values(1, 'Rats!', 555, 1500) Вставьте значения #QuestLog(MemberID, Quest, GoldCollected, MonstersDispatched) (1, «Убить доктора Лаки», 50, 0) Вставьте значения #QuestLog(MemberID, Quest, GoldCollected, MonstersDispatched) (1, «Убить доктора Лаки», 1000, 1) Вот SQL-запрос, который возвращает мне нужные данные.

Выберите M.FirstName, Q.Quest, Max(Q.GoldCollected) MaxGold От #Member M Внутреннее присоединение #QuestLog Q На M.MemberID = Q.MemberID Группа по M.FirstName, Q.Quest Что дает мне этот набор данных:
Имя Квест MaxGold Вельда 1000 дверей 100 Вельда Убить доктора Лаки 1000 Вельда Крысы! 555
Это то, что у меня есть в запросе LINQ.

var query = from m в dbContext.Member присоединиться к q в dbContext.Quest на m.MemberID равно q.MemberID сгруппировать new { m, q} по new { m.FirstName, q.Quest } в g выберите новый { FirstName = m.FirstName, Quest = q.Quest, MaxGold = ??? }; Здесь я застрял. Как мне преобразовать совокупное значение Max в запрос LINQ и получить соответствующие результаты?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Entity Framework Core Используйте пользовательский класс в запросе LINQ
    Anonymous » » в форуме C#
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • LINQ All() работает в одном запросе, а не в аналогичном запросе.
    Anonymous » » в форуме C#
    0 Ответы
    34 Просмотры
    Последнее сообщение Anonymous
  • LINQ All() работает в одном запросе, а не в аналогичном запросе.
    Anonymous » » в форуме C#
    0 Ответы
    34 Просмотры
    Последнее сообщение Anonymous
  • «Выражение LINQ не может быть переведено» с сравнением DateTime в запросе LINQ?
    Anonymous » » в форуме C#
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Как использовать приведение к varchar(max) с STRING_AGG, используя Entity Framework Core
    Anonymous » » в форуме C#
    0 Ответы
    53 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»