Я не могу заставить группу работать с 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; }
}