使用Azure移动应用程序服务的Xamarin移动客户端中的数据库

时间:2016-07-01 09:47:38

标签: azure xamarin azure-mobile-services

我正在构建一个Xamarin移动应用程序,该应用程序使用Azure移动应用程序服务进行离线同步。

一个。 Xamarin(移动客户端):
Xamarin的文档展示了如何构建应用程序和本地数据库(使用sqlite-net ORM)。模型注释了各种属性。

B中。 Azure移动应用服务(服务器):
Azure的文档展示了如何在移动应用程序中定义模型(没有sqlite-net),并在服务器应用程序上定义类似的模型(使用自定义的实体框架)。客户端模型使用不同的属性,服务器模型不使用任何属性,并派生自EntityData

但是客户端有两个数据库 - “真实”数据库(A)和Azure API(B)中的数据库。

我应该只实施(B)吗?

这意味着,(A)只有我想要一个本地数据库,而我根本不需要sqlite-net ORM?

1 个答案:

答案 0 :(得分:3)

如果您正在使用Offline Data Sync in Azure Mobile Apps,那么您不应该执行A,因为已经为您创建了本地数据库,这是脱机同步功能的一部分。您将B作为C#ASP.NET服务器编程模型的一部分,或者您可以将Easy Tables与Node.js后端一起使用。

如果您根本不想要云连接应用,并且数据仅在本地存储(即,不与服务脱机同步),则只执行A.

或者,如果您想要sqlite-net提供的ORM(而不仅仅是Azure Mobile客户端SDK中的基本查询和CRUD),您可以基于sqlite-net定义自定义本地存储。为此,请创建IMobileServiceLocalStore的实现。移动应用客户端SDK是开源的,因此您可以使用MobileServiceSQLiteStore作为起点。