微风离线模式问题

时间:2014-06-18 03:28:30

标签: breeze

更新:这是一个解释问题的plnkr http://plnkr.co/edit/bwQL3o?p=preview

离线模式下的场景

您创建一个实体并将其存储在localstorage

Breeze生成 tempKey: EmployeeId:-1 并使用 EmployeeId填充 tempKeys 数组:-1 。每件事都很好,很棒。

稍后,(应用程序终止,设备已关闭...)您导入存储的数据并创建新实体。

所以Breeze加载存储的数据会看到 EmployeeId:-1 TempKeys 并生成一个新的 EmployeeId:-2 每件事情都很美好。

问题

  1. 将此新数据集存储在localstorage中 tempKeys 数组只包含 EmployeeId:-2 条目。
  2. 稍后,当您导入存储的数据并尝试创建新的Employee时 错误:
  3.   

    “禁止”的MergeStrategy不允许您附加实体   当已经附加具有相同密钥的实体时:   雇员:#上下文 - 1

    问题

    为什么Breeze不跟踪当前的TempKeys?这是一个Bug吗?我们如何解决这个场景?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

好的,这是一个bug,现在已经在GitHub上的breeze.js repo中修复了。这个修复程序也会出现在Breeze.js的下一个完整版本中(可能在下周的某个时候)。 ...并且感谢找到这个并提供了傻瓜。