假设我想开发一款Win 8/10通用应用程序,例如日历,那么用户就有两台设备平板电脑/手机。
我的日历如何共享本地SQL数据库?
我不想维护或管理azure服务或任何其他远程数据库服务,例如AWS,运行SQL Express的VPS等。这对于这样的基本方案来说是过度的。
我已经考虑了SQLite并将DB文件转储到用户MS OneDrive文件夹中,但我们知道这可能导致同步/锁定问题。
所以使用一个纯粹的自我包含的&免费模型,我的两个设备如何共享这个基本的SQL数据?
答案 0 :(得分:1)
如果数据库很小,您可以将其保存在RoamingFolder中,让Windows负责将其复制到其他系统。
请参阅Quickstart: Roaming app data
除了将数据存储在诸如Azure Mobile App Service之类的云服务中之外,这是最简单,最干净的解决方案。如果您需要同时支持在线和离线方案,Azure移动服务支持offline sync to SQLite。
将应用数据保存在用户的OneDrive或Dropbox上然后明确下载使用是可能的,但更困难,有点脏,因为数据对用户可见,可能会被意外删除,移动等对于个人应用来说,它不错,但我不会在制作中这样做。
如果您要在系统之间复制数据库(通过漫游或通过数据存储站点),您需要设计一种方法来处理冲突。如果所有内容都保存在单个云数据库中,这会更简单。