Jaydata-支持OData v4中的多态集合

Jaydata-支持OData v4中的多态集合,odata,jaydata,Odata,Jaydata,JayData 1.5.1是否支持可以包含具有继承层次结构的元素的多态集合 我有一个ODataV4服务,它包含一个多态集合。该服务使用asp.net WebApi 2.2和OData 5.8实现。集合包含适当的$odata.type元数据,该元数据指示派生类型,并且服务本身似乎按预期工作 我已经在数据模型中声明了实体基类型和派生类型,并且集合在数据上下文中声明为elementType设置为基实体类型的集合 查询此集合时,JayData似乎只为集合的每个成员创建基类型实体,而忽略$odata.ty

JayData 1.5.1是否支持可以包含具有继承层次结构的元素的多态集合

我有一个ODataV4服务,它包含一个多态集合。该服务使用asp.net WebApi 2.2和OData 5.8实现。集合包含适当的$odata.type元数据,该元数据指示派生类型,并且服务本身似乎按预期工作

我已经在数据模型中声明了实体基类型和派生类型,并且集合在数据上下文中声明为elementType设置为基实体类型的集合

查询此集合时,JayData似乎只为集合的每个成员创建基类型实体,而忽略$odata.type metatdata。是否有方法指示JayData为多态集合创建适当的派生实体类型

此外,与上述内容相关的是,当我查询集合时,我需要展开一个子元素集合,这些元素只与一个派生类型相关,而与基类型无关。在OData中,这是使用$expand完成的,类似于以下内容:

$expand=My.Model.DerivedType/ChildCollection

有没有办法将其添加到查询的JayData“include”部分

下面是一个具有代表性的示例数据模型:

    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"
        },
});
谢谢


杰夫。

免责声明:我与JayData团队合作

继承的类无法进入1.5。元数据模型和表达式解析器确实支持它,但查询生成器不知道类和子类。由于继承是MicrosoftGraphAPI的基础,我们决定将下一个版本(1.6)专门用于它,而不考虑其他V4功能的发布