如何从本地存储websql加载breeze实体

如何从本地存储websql加载breeze实体,breeze,Breeze,我没有访问OData提供者的权限,只有一个简单的RESTAPI和json,我需要在本地(移动设备websql上)将数据存储在反映后端模型的不同表中。在Edmunds示例之后,我从RESTAPI获得了实体和关系。如何从本地存储的数据使其以相同的方式工作。我想从本地数据库获取数据并重新创建我的实体,如有任何建议,将不胜感激 通过RESTAPI查询数据后,只需将EntityManager导出到本地存储。像这样的 var changesExport = myEntityManager.expo

我没有访问OData提供者的权限,只有一个简单的RESTAPI和json,我需要在本地(移动设备websql上)将数据存储在反映后端模型的不同表中。在Edmunds示例之后,我从RESTAPI获得了实体和关系。如何从本地存储的数据使其以相同的方式工作。我想从本地数据库获取数据并重新创建我的实体,如有任何建议,将不胜感激

通过RESTAPI查询数据后,只需将EntityManager导出到本地存储。像这样的

     var changesExport = myEntityManager.exportEntities();

     ok(window.localStorage, "this browser supports local storage");
     var stashName = "arbitrary name for storage area"";

     window.localStorage.setItem(stashName, changesExport);
这些数据稍后可以重新导入到任何现有的EntityManager中,然后通过简单地重新导入数据在本地进行查询

     importedData = window.localStorage.getItem(stashName);

     anotherEntityManager.importEntities(importedData);

StashName似乎将所有内容都存储为一个序列化对象,有没有办法在存储的数据上保持逐行和表的分隔?谢谢您的输入。不是真的,除非您想逐个实体存储。如果需要,可以向exportEntities调用传递实体列表。看看网站上的Breeze API。好的,谢谢(我对Breeze很陌生),这是否意味着默认情况下,我应该始终在内存中保留hole DB,以便我可以查询它?这会成为移动支持上的大数据集的问题吗?我正在开发一个条形码阅读器应用程序,它有大约40000种产品,我想知道它的内存和响应时间。谢谢你的反馈,我真的不知道你的应用程序。但是一般来说,在本地机器上存储10条数千条记录听起来是个坏主意。但是,我也不知道你的使用案例。是的,我忘了提到我们需要让应用程序在“从互联网断开连接”模式下工作。我想我们可以让Breeze只监视需要编辑/创建的对象以及websql表中的其他对象。这看起来可行吗?