无法导入EntityState已添加

时间:2015-02-02 18:43:02

标签: breeze

我在导入缓存数据时遇到问题。我现在有一个非常简单的页面用作概念证明。后端有一张桌子。我有所有CRUD功能。当用户更改本地数据时,我会更新本地存储中的记录。

var bundle = em.exportEntities(em.getChanges()); window.localStorage.setItem("waterLevelChanges", bundle);

加载页面后

导入实体

var bundle = window.localStorage.getItem("waterLevelChanges");
        if (bundle)
            em.importEntities(bundle);

如果我正在编辑现有记录,这将完美无缺。但是,我添加但未保存到数据库的任何记录都不会填充。在捆绑中,他们的实体状态为“已添加”。我读到如果你不使用临时密钥就会出现问题,但是我让Breeze使用临时密钥并根据需要进行管理。我已经通过查看开发人员工具验证了数据是否存储在本地缓存中。我调试时也可以在捆绑包中看到它。

1 个答案:

答案 0 :(得分:0)

我们的测试显示您声明的方案应该可以正常工作。

请参阅此DocCode:export/importTests.js test,其中导出新Order,保存到浏览器存储空间并重新导入;它"已添加"国家得到确认。 Order类型具有服务器生成的临时密钥。

我认为你必须创建一个失败场景的复制品,以使我确信它不起作用。也许你可以从分叉this Todos plunker开始并修改它以表明你的观点; TodoItem也有服务器生成的临时密钥。