2013-04-29 2 views
1

У меня есть один C# класс определяется какОдин стол, несколько ракурсов, один C# класс

class HighScore 
{ 
    public int Id { get; set; } 

    [DataMember(Name = "PlayerName")] 
    public string PlayerName { get; set; } 

    [DataMember(Name = "PlayerCountry")] 
    public int PlayerCountry { get; set; } 

    [DataMember(Name = "PlayerTime")] 
    public double PlayerTime { get; set; } 

    [DataMember(Name = "PlayerBadge")] 
    public int PlayerBadge { get; set; } 
} 

и столом в моем Azure мобильных сервисов SQL базы данных, которая содержит несколько записей этого типа. У меня есть число просмотров

select * from tellingthetime.HighScore where PlayerBadge=0 

где PlayerBadge представляет собой число от 0 до 4. У меня также есть ряд чтения сценариев, добавленные к моей подвижной службе, которые запрашивают мнение и вернуть соответствующие строки.

function read(query, user, request) { 
    mssql.query("select * from OneStarBadgeLeaderBoard", { 
     success: function(results) { 
      console.log(results); 
      request.respond(statusCodes.OK, results); 
     } 
    }); 
} 

выше сценарий называется OneStarBadgeLeaderBoard, но мой класс называется рекордами. Код ниже, который я вызываю, чтобы получить базовую таблицу.

private IMobileServiceTable<HighScore> HighScoreTable = App.MobileService.GetTable<HighScore>(); 

без создания другого имени класса, ОПРЕДЕЛЕНИЯ все же, как SQL возвращаемых данных такого же, для каждого чтения сценария, как мне сделать эту работу, так что я могу назвать любой скрипт для чтения, который запрашивает соответствующий вид для получения значений, которые мне нужны?

Надеюсь, что имеют смысл.

Большое спасибо,

Jason.

P.S. Конечно, я мог бы прочитать всю таблицу и запросить ее с помощью LINQ на клиенте, но это увеличит объем загружаемых данных.

+0

На каком языке ваша мобильная служба? Предполагается ли использовать класс C#? –

+0

Ник, он использует решение Azure Mobile Services. Мой клиент - C#. Сценарии на Azure - JavaScript. –

ответ

1

получил от этого Джош Twist

function read(query, user, request) { 

    var dispatch = { 
     op1 : operation1, 
     op2 : operation2, 
    } 

    if (request.parameters.operation && dispatch.hasOwnProperty(request.parameters.operation)) { 
     dispatch[request.parameters.operation](query, user, request); 
     return; 
    } 
    else 
    { 
     // default path for execution 
     request.execute(); 
    } 
} 

function operation1(query, user, request) { 
    request.respond(200, "this result is from operation1"); 
} 

function operation2(query, user, request) { 
    request.respond(200, "this result is from operation2"); 
} 

http://www.thejoyofcode.com/Dispatching_to_different_query_functions_in_Mobile_Services.aspx

Кроме того, этот код отправляет запрос отфильтрованного OData, что только извлекает требуемые записи. Получил его из списка ToDo. Azure Mobile Service Tutorials

private async void RefreshTodoItems() 
{ 
      // This code refreshes the entries in the list view by querying the TodoItems table. 
      // The query excludes completed TodoItems 
      var results = await todoTable 
       .Where(todoItem => todoItem.Complete == false) 
       .ToListAsync(); 

      items = new ObservableCollection<TodoItem>(results); 
      ListItems.ItemsSource = items; 
} 
Смежные вопросы