Я пытаюсь отсортировать данные при использовании выражения запроса EF Core.Тем не менее, это не работает для меня.Я хочу, чтобы мои данные отображались в порядке возрастания.Но как-то это не работает.Я использовал следующий запрос.
public Task<Valuation> Execute(GetValuation query, User user)
{
return _dbContext.Valuations
.Where(cre => cre.Id == query.Number)
.Include(cre => cre.PrimaryValuer)
.Include(cre => cre.AuthorisingValuer)
.Include(cre => cre.BuildingDetails)
.ThenInclude(cre => cre.TenantDetails)
.OrderBy(cre => cre.BuildingDetails.OrderBy(b => b.DisplayOrder).Where(cc=>cc.TenantDetails!=null).OrderBy(aa => aa.DisplayOrder))
//.OrderBy(cre => cre.BuildingDetails.Where(cc => cc.TenantDetails != null).OrderBy(aa => aa.DisplayOrder))
.SingleOrDefaultAsync();
}
Объект BuildingDetails содержит свойство DisplayOrder , и с помощью этого свойства я сортирую свои данные с помощью OrderBy. DisplayOrder - это целое число, которое фактически содержит значение индекса строки, например, 0,1,2 и т. Д. BuildingDetails также содержит дочерний объект TenantDetails, который также имеет свойство DisplayOrder .
Я не могу отсортировать строки в порядке возрастания с помощью OrderBy, хотя для сортировки у меня есть Id в качестве DisplayOrder.
Любая помощь приветствуется.
Спасибо