Breeze 搜寻保存结果错误

Breeze 搜寻保存结果错误,breeze,Breeze,我一直在寻找帮助,试图找出一个hasChanges在成功完成saveChanges返回后仍然为true的bug。我正在同时保存一个实体和嵌套实体,当它返回时,我的saveResult显示为一个数组,第一个对象显示父实体,第二个对象是$ref。但是,我的一个EntityGroup说它仍有更改,因此它的行为好像需要再次保存 一件有趣的事情是,我用不同的嵌套实体保存了一个不同的集合,它以嵌套实体作为saveResult数组中的第一个对象返回,我的父实体是$ref。我尽了最大努力确保两个嵌套实体模型看起

我一直在寻找帮助,试图找出一个hasChanges在成功完成saveChanges返回后仍然为true的bug。我正在同时保存一个实体和嵌套实体,当它返回时,我的saveResult显示为一个数组,第一个对象显示父实体,第二个对象是$ref。但是,我的一个EntityGroup说它仍有更改,因此它的行为好像需要再次保存

一件有趣的事情是,我用不同的嵌套实体保存了一个不同的集合,它以嵌套实体作为saveResult数组中的第一个对象返回,我的父实体是$ref。我尽了最大努力确保两个嵌套实体模型看起来相同。如果有人有任何想法或建议,我会很乐意给他们一个尝试,并希望解决这个问题

{  
   "$id":"1",
   "$type":"Breeze.ContextProvider.SaveResult, Breeze.ContextProvider",
   "Entities":[  
  {  
     "$id":"2",
     "$type":"CoreDBCodeFirst.Person, CoreDBCodeFirst",
     "LastName":"Washington",
     "FirstName":"George",
     "MiddleName":null,
     "SocialSecurity":null,
     "DateOfBirth":"1974-12-10T06:00:00.000Z",
     "Gender":"M",
     "Language":"en-US",
     "IdNumber":null,
     "Eligibility":true,
     "Active":true,
     "PersonAddresses":[  
        {  
           "$id":"3",
           "$type":"CoreDBCodeFirst.PersonAddress, CoreDBCodeFirst",
           "Address1":"13000 S Dakota 244",
           "Address2":null,
           "Zip":"57751",
           "City":"Keystone",
           "State":"SD",
           "IsPrimary":false,
           "Active":true,
           "PersonId":20118,
           "Person":{  
              "$ref":"2"
           },
           "id":20108
        }
     ],
     "FullName":"Washington, George",
     "Email":null,
     "id":20118
  },
  {  
     "$ref":"3"
  }
  ],
  "KeyMappings":[  
  {  
     "$id":"4",
     "$type":"Breeze.ContextProvider.KeyMapping, Breeze.ContextProvider",
     "EntityTypeName":"CoreDBCodeFirst.Person",
     "TempValue":-1,
     "RealValue":20118
  },
  {  
     "$id":"5",
     "$type":"Breeze.ContextProvider.KeyMapping, Breeze.ContextProvider",
     "EntityTypeName":"CoreDBCodeFirst.PersonAddress",
     "TempValue":-2,
     "RealValue":20108
  }
  ],
  "Errors":null
}
需要更多的细节

什么是服务器技术

你打什么电话?您是否指定了要保存的实体或要求保存整个缓存

在调试会话中,捕获保存manager.getChanges的实体列表,并将其与响应中的saveResult.entities进行比较;是否缺少任何实体


保存后未保存的实体有什么值得注意的地方吗?

只要您看到函数的返回值代替了实体,您的元数据肯定有问题;通常与导航属性之一的定义有关。您可以发布Person和PersonalAddress的元数据吗?

我正在使用EF 6.1.0作为服务器技术。我正在指定要保存的实体类型。检查my manager.getChanges时,我有一个包含两个实体的数组。当它返回saveResult.entities时,它是一个数组,第一个数组相同,数组中的第二个项目是函数{return mappingContext.refMap[nodeRefId];}],我知道这个。我只是不记得了:请为这两个实体粘贴来自服务器的序列化响应。我怀疑与第二项关联的$id和$refId之间不匹配。指定要保存的实体类型是什么意思?这不是一个选择。可以指定实体数组,也可以不指定。但您不能指定要保存的实体类型。已编辑的问题和回答。当我说指定要保存的实体类型时,我指的是指定数组,所以我不想偏离另一个方向。