使用多个表在客户端创建一个对象

Create one Object in client side using multiple tables

我正在使用带有 .NET 后端和 Xamarin 作为客户端应用程序的 Azure 移动应用程序。

我有多个 table 如下:

  1. Badges - 存储徽章描述的地方
  2. Achievmentgroups - 一组可以有多个徽章。例如徽章 x 级别 1,徽章 x 级别 2,徽章 y 级别 1,徽章 y 级别 2 ...等
  3. CustomerAchievments - 为每个用户存储每个徽章的进度

Badgesachievmentsgroups 与外键链接在一起让其命名为 achievmentGroupId.

CustomerAchievmentsBadges 与外键链接在一起让其命名为 BadgeId

在我的客户端,我想从这三个 table 创建一个对象。 目前我正在做的是分别获取每个 table,我想更多地利用面向对象的编程。

根据我从你的问题中了解到的最简单的方法是将它们组合在一起,所以你的最终 class 如下所示:

public class Customer 
{
   public Badges  Badges { get; set; }

   public Achievmentgroups  Achievmentgroups  { get; set; }

   public CustomerAchievments  CustomerAchievments { get; set; }
}

通过这种方式,您的 .Net 后端可以只发送一个 class 并且可以用来单独获取所有数据!

这里有一个例子的解决方案:

https://blogs.msdn.microsoft.com/azuremobile/2014/05/27/retrieving-data-from-1n-relationship-using-net-backend-azure-mobile-services/