【问题标题】:Offline entity creation JScript and IndexedDb离线实体创建 JScript 和 IndexedDb
【发布时间】:2015-06-30 08:31:59
【问题描述】:

我有一个带有离线数据存储 (IndexedDb) 的网站,并且我有几个可以通过外键相互关联的实体,我们将它们称为 TableA 和 TableB。离线时,我想创建一个新的 TableB 并让 TableA 通过外键加入它。

TableA.TableBId

再次在线将其保留回 Db 并保持关系的最佳方法是什么。数据库中的表有一个用于 Id 的标识列,但这显然是在数据库中而不是在前端应用程序中创建的。欢迎提出任何建议!

【问题讨论】:

  • 我曾尝试在前端使用临时 GUID 来处理关系,但一旦这一切都持续到真正的 Db 后端,它就会变得复杂,我想也许我可以改变后端使用Guids然后前后可以创建新实体???
  • 1..您是否使用 PouchDB 作为 IndexedDB 的接口? 2.目前尚不清楚您是否要将其持久化回服务器数据库或者究竟是什么以及保持关系是什么意思..您的意思是一旦您的应用程序在线,您想要删除 TableB 的所有内容,但是当应用程序在线时离线然后又会发生同样的事情..请您详细说明..
  • 不,不使用 PouchDB,我必须检查一下。是的,我想将 TableA 与 TableB 的关系保留回服务器数据库。在此之前,TableB 没有 id,因为它在上线之前无法从服务器获取一个。我不想删除任何内容
  • 顺便说一下后端是MSSQL
  • 只是让您知道 - 您可以考虑使用 PouchDB,它提供了与服务器数据库 CouchDB 的无缝同步 ..

标签: javascript sql-server indexeddb


【解决方案1】:

我是这样处理的。

我在离线 ui 端创建了 guid,并将它们附加到我的实体上,并将这个新的 guid 包含在实际的服务器端表中。然后我可以结合使用 guid 和真实身份列对实体执行查找。

对不起,如果这不是很清楚,但如果没有看到图表发生了什么,真的很难解释!

【讨论】:

  • 我理解并同意。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-13
  • 2012-01-16
  • 2021-10-27
  • 1970-01-01
  • 2016-01-08
相关资源
最近更新 更多