【发布时间】:2013-02-19 15:16:26
【问题描述】:
正如我的标题所说,我需要弄清楚如何在彼此之间同步我的两个 Microsoft Lightswitch 应用程序。 此外,重要的是一个应用是在网络上,另一个是为桌面创建的。
所以,我需要从网络服务器中提取数据库条目并将其放入台式机使用的数据库中。
如果您需要更多信息,请告诉我。
【问题讨论】:
标签: visual-studio-lightswitch lightswitch-2012
正如我的标题所说,我需要弄清楚如何在彼此之间同步我的两个 Microsoft Lightswitch 应用程序。 此外,重要的是一个应用是在网络上,另一个是为桌面创建的。
所以,我需要从网络服务器中提取数据库条目并将其放入台式机使用的数据库中。
如果您需要更多信息,请告诉我。
【问题讨论】:
标签: visual-studio-lightswitch lightswitch-2012
正如 Yann 所说,它不是开箱即用的内置功能,但应该可以在代码中的 Lightswitch 中实现。
您需要手动编写代码来进行实际同步(通过连接到 Web 服务器上的数据库并使用 SQL 查询同步数据),但因为这无法在客户端中完成(Silverlight 不支持允许使用 SQL 类)您可以使用“命令表”模式 (http://blog.pragmaswitch.com/?p=332)。
基本上,您创建一个新表(例如 SyncRequests)并从客户端向其中添加一条记录,然后您可以使用服务器代码(通过 SyncRequests_Inserted 事件)来执行您的同步代码。
用于同步数据库的实际代码将取决于您想要做什么(从网络数据库覆盖本地数据库中的所有数据、合并记录、仅添加新数据等)以及您的数据库结构。
【讨论】:
您可以在发布向导期间将您的桌面应用程序指向网络服务器上的数据库。还是它们是完全不同的数据库,具有完全不同的表?
【讨论】:
有两种方式:
第一种方式 - 复制
第二种方式——手动同步
在两个数据库上运行数据库比较应用程序。
创建脚本以同步客户端数据库的数据。
创建一个脚本来同步服务器的数据库元数据。
运行更新脚本以更新服务器的元数据。
【讨论】: