C# 使用Azure移动客户端SDK的一个存储库与多个存储库-体系结构指南

C# 使用Azure移动客户端SDK的一个存储库与多个存储库-体系结构指南,c#,android,azure,mobile,xamarin,C#,Android,Azure,Mobile,Xamarin,我正在编写一个Xamarin Android应用程序,并使用Azure Mobile SDK。“我的数据模型”具有列表项的用户。由于用户可以有多个列表,并且列表可以共享,因此通过UserList实体管理的用户和列表之间存在多对多关系。所以User->UserLists澄清一下,这是一个客户问题 我正在构建一个MVVM Xamarin应用程序。在核心PCL项目中,我有ViewModels、Models(又称实体)、服务和存储库。ViewModels与服务对话,服务与存储库对话,存储库使用Azure

我正在编写一个Xamarin Android应用程序,并使用Azure Mobile SDK。“我的数据模型”具有列表项的用户。由于用户可以有多个列表,并且列表可以共享,因此通过UserList实体管理的用户和列表之间存在多对多关系。所以User->UserLists澄清一下,这是一个客户问题

我正在构建一个MVVM Xamarin应用程序。在核心PCL项目中,我有ViewModels、Models(又称实体)、服务和存储库。ViewModels与服务对话,服务与存储库对话,存储库使用Azure移动客户端SDK与移动应用Rest API对话(在某个时间点放置在Azure中)。用户、列表和列表项是我的模型,它们之间存在一对多关系,如上所述

我有一个单独的存储库来处理用户模型,还有一个单独的存储库来处理List和ListItem。似乎我无法在不提交用户的情况下提交列表,但用户位于不同的存储库中,所以出现了一个问题

我通过将两个存储库都基于同一个静态MobileServiceClient和MobileServiceSQLiteStore解决了这个问题

基于上述情况,在我看来,如果数据库是以引用完整性实现的,那么a)实体必须以特定顺序从客户端提交到后端(尚未提供)或者b)客户端必须对所有具有关系的实体使用相同的MobileServiceClient和MobileServiceSQLiteStore。

您所说的“存储库”和“实体”是什么意思?列表与实体和存储库之间的关系是什么?这是后端问题还是客户端问题?或者这只是一个数据库问题?