0

Глядя на настройку оферты Web API и попытку вывести данные из нашего edmx. Проблема состоит в том, что каждый раз, когда я добавить объект в OdataConventionBuilder я получаю большое противное сообщение об ошибке при загрузке говоря:Сложный тип «MyData.AssetReading» относится к типу объекта «MyData.Asset» через свойство «Asset»

The complex type 'MyData.AssetReading' refers to the entity type 'MyData.Asset' through the property 'Asset' 

Кажется, для отношений, определенные в EDMX бомбят на WebAPI OData из примерно сложного типа. Любые идеи о том, как обойти это как edmx, огромны, и реджиг из этого почти не может быть и речи. Есть ли свойство, которое мне нужно установить в Builder.EntitySet или методе MapOdataRoute?

ответ

1

Это сообщение об ошибке вызвано тем фактом, что текущая версия Web API для OData V4 не поддерживает определение свойств навигации в сложном типе модели. То есть сложный тип еще не может ссылаться на тип сущностей.

Эта работа отслеживается этой проблемой GitHub: https://github.com/OData/WebApi/issues/65. Взвешивайте, комментируя это, если хотите, чтобы это было приоритетным.

+1

Hi Yim Спасибо за ответ. Это немного раздражает, и вопрос о github близок к году, так что это не дает мне большой надежды. Как мы обходим ошибку? Я не могу удалить все отношения из edmx, потому что они по-прежнему используются правильными клиентами odata.svc. – Matt

+0

@Raven Извините, пока еще нет работы. –

+0

HI Yi Ding, Thats bummer. Есть ли когда-либо при определении MapODataRoute, что я могу просто сказать builder.GetEdmModel игнорировать отношения по умолчанию? Спасибо – Matt