2015-01-31 6 views
0

У меня есть приложение с 3 таблицамиAzure Mobile Services связанные таблицы

Items, Clients, Types 

Каждый элемент может быть связан с одним клиентом и одним типом

Это первоначально хранился с использованием CE SQL Server, и я теперь толкнул данные до лазурных мобильных услуг.

Я пытаюсь повторно использовать эти данные в новом универсальном приложении Windows, написанном на C#.

В Azure я создал 3 таблицы itemtable clienttable typetable, в itemtable У меня есть столбцы для идентификатора клиентской и typetable записи (item.clienttableid = clienttable.id).

Бранден для мобильных сервисов Azure настроен на javascript, я выбрал это, поскольку я думал, что он будет более совместим на разных платформах, чем сервер .net - это правда?

Я хочу, чтобы иметь возможность читать все элементы из таблицы пунктов и ссылок на свойствах таблицы клиента и типа из элемента (например, item.client.clientname)

Есть ли способ определить мой класс, так что, когда я запрашиваю все элементы из azure, я также получаю связанный тип и клиент.

Это, как я мой класс до сих пор

public class ItemTable 
{ 
    public string Id { get; set; } 

    [JsonProperty(PropertyName = "itemdate")] 
    public DateTime ItemDate { get; set; } 

    [JsonProperty(PropertyName = "itemamount")] 
    public decimal ItemAmount { get; set; } 

    [JsonProperty(PropertyName = "itemdescription")] 
    public string ItemDescription { get; set; } 

    [JsonProperty(PropertyName = "ItemClientID")] 
    public ClientTable Client { get; set; } 

    [JsonProperty(PropertyName = "ItemTypeID")] 
    public TypeTable Type { get; set; } 
} 

public class ClientTable 
{ 
    public string Id { get; set; } 

    [JsonProperty(PropertyName = "clientname")] 
    public string ClientName { get; set; } 
} 

public class TypeTable 
{ 
    public string Id { get; set; } 

    [JsonProperty(PropertyName = "typename")] 
    public string TypeName { get; set; } 
} 

Я видел это http://blogs.msdn.com/b/carlosfigueira/archive/2013/08/23/complex-types-and-azure-mobile-services.aspx , но не может обернуть мою голову вокруг, как адаптировать его к моей ситуации

ответ

1

Лазурного мобильные услуги бэкэнд установлен на javascript, я выбрал это, поскольку я думал, что он будет более совместим на разных платформах, чем бэкэнд .net - это правда?

Независимо от того, какое время бэкэндом вы используете, это не будет легко в каждом конкретном случае, поскольку Azure Mobile Services Team создали «Azure Mobile Services SDK» для клиентских приложений, которые можно установить с помощью «Управление NuGet пакета».

Это как у меня есть класс до сих пор

Я видел модель и в следующий раз вы можете показать диаграмму классов от вашей модели, узнать в этой статье Class diagram: a easy way to understand code. Если эта модель предназначена для клиента/.Net Backend, я думаю, что это не совсем правильно, потому что вы сказали, что это

3 стола Элементы, клиенты и типы. Каждый элемент может быть связан с одним клиентом и одним типом

В ItemTable классе вы должны иметь что-то, как это

   public ClientTable ClientId { get; set; } 
 
\t 
 
     [ForeignKey("ClientId")] 
 
\t [JsonProperty(PropertyName = "ItemClientID")] 
 
     public virtual ClientTable Client { get; set; } 
 
    
 
\t public string TypeTableId { get; set; } 
 

 
     [ForeignKey("TypeTableId")] 
 
\t [JsonProperty(PropertyName = "ItemTypeID")] 
 
     public virtual TypeTable TypeTable { get; set; }

Примечание: В клиенте приложения удалите атрибут ForeignKey.

Если у вас есть сомнения, я рекомендую посмотреть этот

Azure Mobile Services Samples - Samples and articles to help developers to use Azure Mobile Services

+0

Спасибо за информацию. В настоящее время у меня есть данные в таблицах в лазурных мобильных сервисах и установите itemclientid и itemtypeid таким же, как поле id в каждой соответствующей таблице. Я пытаюсь теперь использовать эти данные и сопоставить их с соответствующим клиентом или типом. Я предполагаю, что мой вопрос действительно заключается в том, что я делаю это от azure в виде представления или я вытягиваю 3 таблицы отдельно и создаю представление на клиенте, сопоставляя идентификаторы. Я надеюсь в этом есть смысл. – TimDJordan

Смежные вопросы