尽管从服务器返回了数据,但BreezeJS导航属性未被填充

本文关键字:导航 BreezeJS 属性 填充 服务器 返回 数据 | 更新日期: 2023-09-27 18:25:49

我刚刚从BreezeJS 1.1升级到1.4,但"扩展"似乎不起作用?我可以看到我的扩展到服务器:

http://localhost:60198/api/Data/App?$filter=Id%20eq%209&$expand=Household%2CHousehold%2FPrimary

我可以看到返回的数据:

[
  {
    "$id": "1",
    "$type": "App.Models.Base.App, App",
    "Id": 9,
    "Number": "ZZZZ",
    "Name": "ZZZZZ",
    "Household": {
      "$id": "2",
      "$type": "App.Models.Base.Household, App",
      "Id": 6,
      "Primary": {
        "$id": "3",
        "$type": "App.Models.Base.Person, App",
        "Id": 9,
        "FirstName": "ZZZZ",
        "MiddleName": "ZZZZ",
        "LastName": "ZZZ",
      }
    },
    "HouseholdId": 6
  }
]

但当我尝试访问时,家庭财产为空。这在1.1中曾经使用过。

breeze.EntityQuery
    .from("App")
    .where("id", "==", id)
    .expand("Household, Household.Primary")

如果记录为json,则会转换为

query {"resourceName":"App","entityType":null,"wherePredicate":{"_filterQueryOp":{"_$typeName":"FilterQueryOp","name":"Equals"},"_propertyOrExpr":"id","_value":9,"_valueIsLiteral":false},"orderByClause":null,"selectClause":null,"skipCount":null,"takeCount":null,"expandClause":{"propertyPaths":["Household","Household.Primary"]},"parameters":{},"inlineCountEnabled":false,"entityManager":null} 

更新:我降级到1.2.5,它再次工作。我在代码中查看了一下,这里显示的是这样的复选框:https://github.com/IdeaBlade/Breeze/blob/master/Breeze.Client/Scripts/breeze.debug.js#L13312return为false,因此没有更新实体?谁知道我对微风密码库还很陌生。

尽管从服务器返回了数据,但BreezeJS导航属性未被填充

导航属性设置不正确。