【问题标题】:BreezeJS navigation properties not being populated despite data being returned from server尽管从服务器返回数据,但未填充 BreezeJS 导航属性
【发布时间】:2013-08-19 15:32:51
【问题描述】:

我刚刚从 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#L13312 是否返回 false,因此实体没有被更新?谁知道我对微风代码库很陌生。

【问题讨论】:

  • 您可以发布您的查询吗?
  • 既然您已经深入研究了 Breeze 代码库中的那一行,您知道为什么 currentRelatedEntity === relatedEntity 在您的案例中吗?这就是 Breeze 会退出而不设置导航属性值的原因。

标签: c# breeze


【解决方案1】:

导航属性设置不正确。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-15
    • 1970-01-01
    • 2018-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多