无法导入 EntityState 添加

Not able to import EntityState Added

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

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

页面加载后,我导入实体

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

如果我正在编辑现有记录,这将非常有效。但是,我添加但未保存到数据库中的任何记录都不会填充。在 bundle 中,它们的 EntityState 为 "Added"。我读到如果您不使用临时密钥会出现问题,但我让 Breeze 使用临时密钥并随意管理它们。我通过查看开发人员工具验证了数据存储在本地缓存中。我调试的时候也能在bundle里看到。

我们的测试表明您所述的场景应该可以正常工作。

查看此 DocCode:export/importTests.js test,其中导出了一个新的 Order,保存到浏览器存储,然后重新导入; "Added" 状态已确认。 Order 类型具有服务器生成的临时密钥。

我认为您必须重现您的失败场景才能让我相信它不起作用。也许你可以从分叉 this Todos plunker 开始,然后修改它来表达你的观点; TodoItem 也有服务器生成的临时密钥。