Выполнение сложного запроса по заказу с помощью Odata - PullRequest
0 голосов
/ 20 января 2020

У меня есть. net core 3.1 контроллер веб-API, украшенный атрибутом Odata EnableQuery. Затем я хочу отсортировать сущности по вложенным объектам, таким как

http://localhost:5000/odata/asset?$orderby=Analysis/Fund/ParentFund/Name asc

, запрос не завершается ошибкой, но он не упорядочивает результаты. Как правильно достичь этого? Или, если запрос правильный, как должны быть сконфигурированы оддаты для этого сценария?

У класса активов есть

public long AnalysisId { get; set; }
public virtual Analysis Analysis { get; set; }

У класса анализа есть

public long FundId { get; set; }
public virtual Fund Fund { get; set; }

У класса фонда есть

public long? ParentFundId { get; set; }
public virtual Fund ParentFund { get; set; }
public string Name { get; set; }

Модель построена так

var builder = new ODataConventionModelBuilder();
builder.EntitySet<Analysis>(nameof(Analysis));
builder.EntitySet<Asset>(nameof(Asset)); 
builder.EntitySet<Fund>(nameof(Fund));
return builder.GetEdmModel();
...