Local storage Breeze manager.createEntity此密钥已附加
我有一个SPA(热毛巾模板)并使用window.localStore在浏览器中保存数据。我使用了breeze 1.3.5中的导出/导入功能,但在后面的“使用导入实体”功能中,我需要创建另一个新实体并再次使用此行:Local storage Breeze manager.createEntity此密钥已附加,local-storage,breeze,Local Storage,Breeze,我有一个SPA(热毛巾模板)并使用window.localStore在浏览器中保存数据。我使用了breeze 1.3.5中的导出/导入功能,但在后面的“使用导入实体”功能中,我需要创建另一个新实体并再次使用此行: manager.createEntity('Project'); 然后出现下一个错误: This key is already attached: Project:#Solution.Project.Models--1 仅当我在调用函数createEntity之前将实体导入本地存
manager.createEntity('Project');
然后出现下一个错误:
This key is already attached: Project:#Solution.Project.Models--1
仅当我在调用函数createEntity
之前将实体导入本地存储时,才会出现此错误
测试步骤:
此键已附加:Project:#Solution.Project.Models--1
如果我没有关闭浏览器,一切正常,但当我关闭浏览器并再次打开时出现错误,请从localStorage加载数据并创建新实体
请帮助我解决此错误。可能您已经创建了实体项目。尝试在所有解决方案“createEntity”中搜索,看看是否有另一个名为Project的实体。不确定,但Breeze中有一个与导出/导入相关的bug,该bug在V1.3.5中刚刚修复。你能试试看,告诉我们这是不是问题吗 我们无法在这里重现这个问题 下面是我们的热毛巾测试解决方案的片段:
return manager.executeQuery(query)
.then(function (data) {
var newPhysician0 = manager.createEntity('Physician');
var bundle = manager.exportEntities();
var em2 = new breeze.EntityManager({
serviceName: manager.serviceName,
metadataStore: manager.metadataStore
});
em2.importEntities(bundle);
var newPhysician1 = manager.createEntity('Physician');
var newPhysician2 = em2.createEntity('Physician');
var newPhysician3 = manager.createEntity('Physician');
var newPhysician4 = em2.createEntity('Physician');
querySucceeded(data);
})
.fail(queryFailed);
您能否提供重现问题的解决方案,以便我们进一步调查?请将解决方案保持在重新设置问题所需的最低限度
谢谢。不,也许您需要查看此链接:我刚刚在Northwind项目的DocCode示例中试用了此链接,效果很好。也许这是因为我使用的是尚未发布的Breeze版本。如果是的话。。。好修复正在进行中:)感谢您提供的信息,在下一版本的breeze中肯定会解决此错误。当密钥是整数数据类型和标识或自动生成(或自动增量)时,会出现此错误调用函数
importEntities
后,函数createEntity
失败,因为createEntity
再次尝试分配id=-1
,例如createEntity
必须分配新键id=-2
。如果我没有关闭浏览器,一切正常,但当我关闭浏览器并再次打开,从localStorage加载数据并创建新实体时,出现了错误。(我编辑了我的问题,并添加了测试步骤)。请提供您的测试解决方案,以便我们可以尝试重新编写。谢谢