У меня проблема с этим запросом EF 2.1:
return await _context.CorrespondenceItems
.Include(x => x.Statuses.OrderByDescending(y => y.Date))
.OrderByDescending(x => x.DateCreated)
.ToListAsync();
Проблема в том, что OrderByDescending для коллекции Statuses. Я получаю ошибку:
System.InvalidOperationException: The Include property lambda expression 'x => {from CorrespondenceItemStatus y in x.Statuses orderby [y].Date desc select [y]}' is invalid. The expression should represent a property access: 't => t.MyProperty'. To target navigations declared on derived types, specify an explicitly typed lambda parameter of the target type, E.g. '(Derived d) => d.MyProperty'
Это моя (упрощенная) модель:
public class CorrespondenceItem
{
[Key]
public int CorrespondenceItemId { get; set; }
public virtual List<CorrespondenceItemStatus> Statuses { get; set;
}
public class CorrespondenceItemStatus
{
[Key]
public int CorrespondenceItemStatusId { get; set; }
public int CorrespondenceItem_CorrespondenceItemId { get; set; }
[ForeignKey("CorrespondenceItem_CorrespondenceItemId")]
public virtual CorrespondenceItem CorrespondenceItem { get; set; }
public DateTime Date { get; set; }
}
Обновление: для ясности, я бы хотел упорядочить по дате убывания коллекцию элементов CorrespondenceItems с их статусами, упорядоченными также по убыванию даты