Breeze据称保存了一个没有进入数据库的值?

时间:2013-10-17 12:19:54

标签: breeze

在我的datacontext.savechanges之后,我立即停止代码并使用Chrome开发工具检查器查看刚刚运行的XHR请求。这就是我所看到的:

$type: "Breeze.WebApi.SaveResult, Breeze.WebApi"
   Entities: [{$id:2, $type:pdb.productMaster, PDB, Id:1912, ProductCode:a18, Description:a18t, GroupId:116}]
      0: {$id:2, $type:pdb.productMaster, PDB, Id:1912, ProductCode:a18, Description:a18t, GroupId:116}
      $id: "2"
      $type: "pdb.productMaster, PDB"
      ProductCode: "a18"
      ProductVersions: null
      Description: "a18t"
      GroupId: 116
      Id: 1912
      Errors: null

然后我直接进入SQL Management Studio并查看刚刚添加的记录:

Id    ProductCode    Description    GroupId
1912      a18           a18t          1

是的,我添加的每条记录都将groupID设置为1!这是一个int字段。我可以在SQL Management Studio中手动将其设置为116。

来自XHR请求的响应也显示没有错误,并且表示groupID是116。

我完全不知道这里发生了什么!微风错误?这完全是奇怪的。

1 个答案:

答案 0 :(得分:2)

我首先查看“productMaster”实体类型的元数据。您可以使用Breeze的MetadataStore.getEntityType方法,然后调查数据和导航属性。我的猜测是,这可能会让您更深入地了解问题...可能是您的客户端和服务器代码之间不匹配。

您还可以在服务器上创建一个保存拦截器,并调查服务器端实体在保存之前在服务器上实现时的样子。