Одата V4 группируется с Top и пропустить не работает - PullRequest
0 голосов
/ 27 октября 2018

Я не могу заставить группу работать с top и пропустить, что должно быть самой простой вещью.Я получаю данные, используя OData, и могу получить вывод, используя запрос ниже

https://localhost:6523/api/OData/AssetUsage/?$apply=groupby((assetId,BIAsset/name),aggregate(interactions с суммой как totalInteractions, uniqueInteractions с суммой как totalUniqueInteractions)) & $ orderBy = totalInteractions asc

Вывод вышеуказанного запроса

Однако, когда я пытаюсь применить skip или top к сгенерированному выше выводу, я получаю ошибку, указанную ниже

https://localhost:6523/api/OData/AssetUsage/?$apply=groupby((assetId,BIAsset/name),aggregate(interactions с sum как totalInteractions, uniqueInteractions с sum как totalUniqueInteractions)) & $ orderBy = totalInteractions asc & $ top = 1

Ошибка -

  • сообщение":" Запрос, указанный в URI, недопустим.Не удалось найти свойство с именем 'BIAsset' для типа 'Portal.Models.Entities.AssetUsage'. ",

  • " innererror ":

    -" message ":"Не удалось найти свойство с именем« Актив »для типа« Portal.Models.Entities.AssetUsage ».»,

    - «type»: «Microsoft.OData.ODataException»,

Структура класса сущностей

public class AssetUsage
{
    public int Id { get; set; }
    [ForeignKey("BIAsset")]
    public int? AssetId { get; set; }
    public int YearMonthId { get; set; }
    public int Interactions { get; set; }
    public int UniqueInteractions { get; set; }
    public DateTimeOffset Recency { get; set; }
    public virtual BIAsset BIAsset { get; set; }

}

1 Ответ

0 голосов
/ 05 ноября 2018

Я использовал EnableLowerCamelCase (), поэтому мне нужно использовать точный регистр при написании запроса.Однако в будущем обновлении эта проблема будет решена.обратитесь к ниже URL для дальнейших обновлений.https://github.com/OData/WebApi/issues/1659

...