C# EF Core 8 - Невозможно решить: «Данный ключ EmptyProjectionMember отсутствует в словаре»C#

Место общения программистов C#
Ответить
Anonymous
 C# EF Core 8 - Невозможно решить: «Данный ключ EmptyProjectionMember отсутствует в словаре»

Сообщение Anonymous »

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

Код: Выделить всё

public class Attempt(int Id, string UserId, int score)
{
public int Id { get; set; } = Id;
public string UserId { get; set; } = UserId!;
public int score { get; set; } = score;
}
Я пытаюсь выполнить этот запрос, который группирует все попытки по их UserId, выбирает попытку с наивысшим баллом для каждого пользователя, а затем сортирует их по баллу:

Код: Выделить всё

IQueryable GetBestAttempts() =>
db.Attempt
.GroupBy(a => a.UserId)
.Select(g => g.OrderByDescending(attempt => attempt.score).First())
.OrderByDescending(attempt => attempt.score)
.ThenBy(attempt => attempt.UserId);
Однако при попытке создать экземпляр этого запроса я получаю следующую ошибку:

Код: Выделить всё

System.Collections.Generic.KeyNotFoundException: 'The given key 'EmptyProjectionMember' was not present in the dictionary.'
У кого-нибудь есть решение для этой проблемы, не требующее создания экземпляра запроса? Этот запрос является частью многих других запросов, и я бы хотел, по возможности, избежать передачи этого огромного списка на сервер.

Подробнее здесь: https://stackoverflow.com/questions/791 ... -was-not-p
Ответить

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

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

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

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

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