gpt4 book ai didi

c# - 使用 View 或存储过程在 Azure 移动应用程序中进行离线数据同步

转载 作者:行者123 更新时间:2023-11-30 14:50:00 25 4
gpt4 key购买 nike

我们已经创建了一个 Xamarin Forms 应用程序,目前仅在 Android 上运行。后端是 .Net Azure Mobile Apps 服务

我从articles了解到离线数据同步仅适用于 "/tables" 端点。 (至少我是这么理解的)

但我的 API 公开了来自联合查询(实体关系)的数据,以及一些来自存储过程的数据。这是否意味着这些不适用于当前的 SDK?我有哪些选择?

我是否在客户端公开表并处理连接的业务逻辑?

最佳答案

您有几个关系和离线同步选项。

1) 创建一个带有触发器的 View 。插入、更新或删除条目时 - 为您的后端表做“正确的事”。 View 将自动更新。您的 EF 模型应该引用该 View 。这完全脱机工作,因为您只处理一个表(因为它实际上是一个 View )。这里有 SQL 的复杂性,很多关系不能用这种方式表示。

2) 将单独的表用作“只读”- 发布/放置/删除到自定义 API 以执行插入、更新和删除,以便保留数据库的引用完整性。这意味着您的数据可离线使用,但您无法更新数据库,除非您在线

3) 从您的数据库中删除关系并改为在客户端上执行连接等。这将责任推给了您的客户。这也意味着您的后端需要强制执行完整性,因为您不知道是您的客户端访问后端。可能不是最好的主意。

4) 对数据进行非规范化并重组数据库。

我相信有人会提出其他想法。也可以查看我关于该主题的博客文章:https://shellmonger.com/2016/05/27/30-days-of-zumo-v2-azure-mobile-apps-day-26-relationship-advice/

您选择哪一个取决于您要编写多少代码、您对 T-SQL 的熟悉程度以及实际数据模型的外观。所有这些都需要权衡取舍。

关于c# - 使用 View 或存储过程在 Azure 移动应用程序中进行离线数据同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37840116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com