Выражение LINQ не может быть переведено при использовании MaxbyC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Выражение LINQ не может быть переведено при использовании Maxby

Сообщение Anonymous »

объекты: < /p>

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

public class User
{
public long Id { get; }
public ICollection Files { get; }
}

public class File
{
public long Id { get; }
public DateTime CreatedAt { get; }
public string Name { get; }
public User? User { get; }   // nullable for other reasons
}
< /code>
Я хочу имя последнего файла для каждого пользователя. Я попробовал: < /p>
var data = await context
Files
.Where(x => x.User != null)
.GroupBy(x => x.User!.Id)
.Select(x => x.MaxBy(y => y.CreatedAt)!)
.ToDictionaryAsync(k => k.User.Id, v => v.Name);
< /code>
Но это бросает < /p>

выражение LINQ ... не может быть переведено < /p>

Я предполагаю, что maxby 
не поддерживается (в EF Core 8).
есть обходной путь?

Подробнее здесь: https://stackoverflow.com/questions/794 ... sing-maxby
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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