EF Core - сортировка результата с использованием предложения Order by не работает - PullRequest
0 голосов
/ 02 мая 2019

Я пытаюсь отсортировать данные при использовании выражения запроса 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.

Любая помощь приветствуется.

Спасибо

...