2015-01-31 2 views
0

В настоящее время я пытаюсь реализовать Azure Mobile Service в своем приложении Windows Phone 8.1. Я следил за документацией на нем Azure.Microsoft.com: Get started with Mobile Services, и я создал новый проект Windows Phone 8.1 с сервисом. Я попытался создать новую таблицу с точной конфигурацией в качестве образца, а также новый Class для соответствия имени таблицы &. Ниже исходный код, я изменил все TodoItem в «Test»Невозможно найти таблицу в Azure Mobile Service Win Phone 8.1

Я получаю сообщение об ошибке:

Error: Table 'Test' does not exist

Я попытался сделать как вариант Javascript и .NET для заднего конца, но они до сих пор не удалось Неужели я не могу найти свой стол, потому что мне не хватает шага?

sealed partial class MainPage : Page 
{ 
    private MobileServiceCollection<Test, Test> items; 
    private IMobileServiceTable<Test> todoTable = App.MobileService.GetTable<Test>(); 

    public MainPage() 
    { 
     this.InitializeComponent(); 
    } 

    private async Task InsertTodoItem(Test todoItem) 
    { 
     await todoTable.InsertAsync(todoItem); 
     items.Add(todoItem); 
    } 

    private async Task RefreshTodoItems() 
    { 
     MobileServiceInvalidOperationException exception = null; 
     try 
     { 
      items = await todoTable 
       .Where(todoItem => todoItem.Complete == false) 
       .ToCollectionAsync(); 
     } 
     catch (MobileServiceInvalidOperationException e) 
     { 
      exception = e; 
     } 

     if (exception != null) 
     { 
      await new MessageDialog(exception.Message, "Error loading items").ShowAsync(); 
     } 
     else 
     { 
      ListItems.ItemsSource = items; 
      this.ButtonSave.IsEnabled = true; 
     } 
    } 

    private async Task UpdateCheckedTodoItem(Test item) 
    { 
     await todoTable.UpdateAsync(item); 
     items.Remove(item); 
     ListItems.Focus(Windows.UI.Xaml.FocusState.Unfocused); 
    } 

    private async void ButtonRefresh_Click(object sender, RoutedEventArgs e) 
    { 
     ButtonRefresh.IsEnabled = false; 
     await RefreshTodoItems(); 

     ButtonRefresh.IsEnabled = true; 
    } 

    private async void ButtonSave_Click(object sender, RoutedEventArgs e) 
    { 
     var todoItem = new Test { Text = TextInput.Text }; 
     await InsertTodoItem(todoItem); 
    } 

    private async void CheckBoxComplete_Checked(object sender, RoutedEventArgs e) 
    { 
     CheckBox cb = (CheckBox)sender; 
     Test item = cb.DataContext as Test; 
     await UpdateCheckedTodoItem(item); 
    } 

    protected override async void OnNavigatedTo(NavigationEventArgs e) 
    { 
     await RefreshTodoItems(); 
    } 
} 
+0

Укажите код с вашего .NetBackend: контроллеры, DTOS, модель, DbContext ... Я думаю, что я знаю эту проблему, но необходимо, чтобы увидеть кода, во-первых, обновите свой исходный пост. – saramgsilva

+0

@saramgsilva могу я знать где я могу проверить это? Я новичок в этом извините и благодарю вас. – DonutQuan

+0

Где код от вас Backend? Код, который вы предоставили, предназначен для клиентского приложения, а не для бэкэнд – saramgsilva

ответ

0

Для Javascript бэкэндом:

Перейти в лазурный портал и выберите свой мобильный сервис. Перейдите на вкладку с данными. Нажмите «Добавить таблицу» в таблицу Test.

Для .Net:

Откройте проект в Visual Studio. Добавьте тестовый класс в папку DataObjects. Щелкните правой кнопкой мыши папку Controllers -> add ->. Выберите Контроллер таблицы мобильных приложений Microsoft Azure. Выберите класс Test для класса модели и должен быть только один параметр для класса контекста данных.

0

Соблюдены эту статью

Get started with Mobile Services

и вы видели этот

enter image description here

и с этим вы получили исходный код. Таким образом, вы получили два проекта: проект

  • В .NET BackEnd
  • Клиентского приложения проекта

и когда вы сделали изменения, вы только изменили проект клиентского приложения (потому что MainPage принадлежит к клиентскому приложению).

Если вы изменили класс TodoItem для тестового класса в приложении проекта клиента, вы должны сделать то же самое для .NET проекта, который требует изменений:

  • Смените TodoItemController в TestController
  • изменения TodoItem to Test

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

Чтобы понять чуток, я рекомендую посмотреть следующие образцы

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

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