Ran*_*ngh 3 c# stored-procedures xamarin.android azure-mobile-services xamarin.forms
我们已经创建了Xamarin Forms应用程序,目前仅在Android上运行。后端是.Net Azure移动应用程序服务
我从文章中了解到,脱机数据同步仅适用于“ / tables”端点。(至少那是我的理解)
但是我的API公开了联接查询(实体关系)中的数据以及一些存储过程中的数据。这是否意味着这些不适用于当前的SDK?我有什么选择?
我是否公开表并处理客户端中联接的业务逻辑?
对于关系和离线同步,您有两个选择。
1)创建带有触发器的视图。插入,更新或删除条目时-对后端表执行“正确的操作”。视图将自动更新。您的EF模型应引用该视图。由于您只处理一个表(因为它实际上是一个视图),因此该操作完全脱机。这里有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中的使用感觉以及实际数据模型的外观。他们之间都有权衡。
归档时间: |
|
查看次数: |
1544 次 |
最近记录: |