Мне нужно создать действие с использованием odata v4 (реализация Web Api 2), которое может возвращать либо список, содержащий несколько разных типов сущностей, либо действие, которое возвращает объект, содержащий много типов сущностей.
Однако, если я создаю действие, возвращающее список, я получаю сообщение об ошибке, указывающее, что все элементы в списке должны быть одного типа (или наследоваться от общего типа).Теперь я предполагаю, что средства являются производными от общего типа, зарегистрированного в модели данных сущностей, поскольку все они наследуются от объекта.
Если я создаю тип для вложения различных типов сущностей, в которые я хочу вернуть, объектвозвращаемое не имеет данных (я предполагаю, что из-за того, что содержимое является типом сущности, оно пытается быть полезным и оставляет их как свойства навигации или что-то в этом роде, но это не то, что мне нужно).
Пока я копалпытаясь выяснить, как зарегистрировать действие в модели, я натолкнулся на конечную точку $ all (которая, похоже, не работает в реализации web api 2, но, возможно, мои пользовательские компоненты также сломали ее) http://docs.oasis -open.org / OData / OData / v4.0 / errata03 / OS / полный / part2-url-конвенция / OData-v4.0-errata03-OS-part2-url-конвенция-complete.html # _Toc453752355 Однако я не имею ни малейшего понятия, как сделать что-то подобное из действия.
Я надеюсь, что это так же просто, как
actionConfig.ReturnsCollectionOfTypelessGoo()
, но я готов прыгать через обручи, яе что нужно:)