Поддерживает ли JayData 1.5.1 полиморфные коллекции, которые могут содержать элементы с иерархией наследования?Jaydata - поддержка полиморфных коллекций в OData v4
У меня есть служба OData v4, которая содержит полиморфную коллекцию. Служба реализована с использованием asp.net WebApi 2.2 и OData 5.8. Коллекция содержит соответствующие метаданные $ odata.type, которые указывают производный тип, и сама служба работает как ожидалось.
В моей модели данных я объявлял базовый тип сущности и производные типы, и коллекция объявляется в контексте данных как коллекция с типом elementType, установленным для базового типа сущности.
При запросе этой коллекции, похоже, что JayData создает только объект базового типа для каждого члена коллекции, игнорируя метаданные $ odata.type. Есть ли способ дать указание JayData создать соответствующие производные типы сущностей для полиморфной коллекции?
Также, связанный с вышесказанным, когда я запрашиваю коллекцию, мне нужно развернуть дочернюю коллекцию элементов, относящихся только к одному из производных типов, а не к базовому типу. В OData это делается с помощью $ развернуть похожее на следующее:
$ развернуть = My.Model.DerivedType/ChildCollection
Есть ли способ, чтобы добавить это к JayData «включают» часть запроса?
Вот модель данных образец, который несколько представитель:
types["My.Model.BaseType"] = $data.Entity.extend("My.Model.BaseType", {
...
});
types["My.Model.Child"] = $data.Entity.extend("My.Model.Child", {
...
});
types["My.Model.DerivedType"] = types["My.Model.BaseType"].extend("My.Model.DerivedType", {
...
ChildCollection: {
"type": "Array",
"elementType": "My.Model.Child",
"inverseProperty": "$$unbound"
}
});
exports.type = types["MyData.Container"] = $data.EntityContext.extend("MyData.Container", {
PolymorphicCollection: {
"type": "$data.EntitySet",
"elementType": "My.Model.BaseType"
},
});
Спасибо,
Джефф.