Knockout.js Breezejs嵌套数组和结果绑定

Knockout.js Breezejs嵌套数组和结果绑定,knockout.js,asp.net-web-api,breeze,Knockout.js,Asp.net Web Api,Breeze,使用breezejs和WEBAPI,我拉一个产品列表,每个产品都有一个组件列表 原始结果显示列表中第一个产品的3个组件的列表,而当我导航数据时。结果[0]。组件()在数组中仅获得一个组件 同样,当我浏览到/breeze/breeze/products时,我会看到每个产品的所有组件 我遗漏了什么?下面是我直接打电话给/breeze/breeze/products时得到的回复 { $id: "1", $type: "DD.Product, DD_Mod

使用breezejs和WEBAPI,我拉一个产品列表,每个产品都有一个组件列表

原始结果显示列表中第一个产品的3个组件的列表,而当我导航数据时。结果[0]。组件()在数组中仅获得一个组件

同样,当我浏览到/breeze/breeze/products时,我会看到每个产品的所有组件

我遗漏了什么?下面是我直接打电话给/breeze/breeze/products时得到的回复

 {
    $id: "1",
    $type: "DD.Product, DD_Model",
    Id: 1,
    Name: "XXXX",
    Components: [
    {
        $id: "2",
        $type: "DD.Component, DD_Model",
        Id: 1,
        Name: "component1"
        Product: {
           $ref: "1"
         },
    },
    {
        $id: "3",
        $type: "DD.Component, DD_Model",
        Id: 2,
        Name: "component2"
        Product: {
          $ref: "1"
        },
    },
    {
        $id: "4",
        $type: "DD.Component, DD_Model",
        Id: 11,
        Name: "component3"
        Product: {
         $ref: "1"
        },
    }
    ],
  },

对象元数据是通过/breeze/breeze/metadata从服务器检索的。在我看来,您使用的是两种不同的数据类型,并将它们放入组件数组中

我有一种感觉,当你拿回JSON时,它有那些额外的属性,但它们不会被映射到DD组件,因为它们属于GCDMS.Models.CalibrationEquipment类型,GCDMS_Model

编辑

无论出于何种目的,只要所显示的内容与返回的数据相匹配,您所做的看起来都是正确的,等等


我唯一能建议的是,在返回结果后,将其放入一个方法中,并调用它-console.log(entityManager.getEntities());查看是否有3个组件,并确保它们正确映射回。

这只是复制和粘贴错误,已修复,从结构上看,所有组件都是相同的,没有什么不同。请显示QuerySucceed函数。另外,您是否正在使用服务器元数据或设置自己的元数据?添加了querySucceed函数,是的,我正在从服务器提取元数据。更新了答案,但没有显示明显的问题。您确定服务器上的模型设置正确吗?看起来很难。。。
 {
    $id: "1",
    $type: "DD.Product, DD_Model",
    Id: 1,
    Name: "XXXX",
    Components: [
    {
        $id: "2",
        $type: "DD.Component, DD_Model",
        Id: 1,
        Name: "component1"
        Product: {
           $ref: "1"
         },
    },
    {
        $id: "3",
        $type: "DD.Component, DD_Model",
        Id: 2,
        Name: "component2"
        Product: {
          $ref: "1"
        },
    },
    {
        $id: "4",
        $type: "DD.Component, DD_Model",
        Id: 11,
        Name: "component3"
        Product: {
         $ref: "1"
        },
    }
    ],
  },