2015-08-25 3 views
0

Я пытаюсь запросить базу данных мобильной службы azure для конкретной записи. Мне нужен запрос, чтобы найти запись, столбец NotifyDate соответствует текущей дате. Затем из найденной записи я хочу взять строковое значение, которое находится в столбце записи Name, и сохранить его в строке, которую я могу использовать за пределами базы данных.Нужна помощь при запросе базы данных мобильных служб azure

Это то, что я придумал, но он дает мне ошибку:

Cannot convert method group 'ToString' to non delegate type 'string'. Did you intend to invoke the method?

В следующей строке:

string NotifyDate = FindNotifyDate().ToString; 

есть лучший способ, что вы можете думать из этого сделать?

Текущий код:

private IMobileServiceTable<TodoItem> todoTable = 
MobileService.GetTable<TodoItem>(); 

private MobileServiceCollection<TodoItem, TodoItem> items; 
private List<TodoItem> notifyItems; 

protected void Application_Start() 
{ 
    WebApiConfig.Register(); 
    string NotifyDate = FindNotifyDate().ToString; 
} 

public async Task<TodoItem> FindNotifyDate() 
{ 
    DateTime test = DateTime.Now; 
    test = test.AddMilliseconds(-test.Millisecond); 
    notifyItems = await todoTable.Where(todoItem => todoItem.NotifyDate == test) 
           .ToListAsync(); 
    return notifyItems[0]; 
} 
+0

любая удача с этим? – Artiom

ответ

1

попробуйте следующий код

protected void async Application_Start() 
    { 
     WebApiConfig.Register(); 
     var todoItem = await FindNotifyDate(); 
     string NotifyDate = todoItem.ToString(); 
    } 

FindNotifyDate İŞ асинхронной операции. Вы должны дождаться завершения этого заказа, чтобы позвонить ToString() из TodoItem. В противном случае в вашем примере вы получите Task как тип результата, и это не то, что вы ожидали. Сделайте операцию синхронизации для вызова ToString() сразу после вызова или подождите завершения, как в приведенном выше примере.

+1

Кроме того, вы должны переименовать FindNotifyDate() в FindNotifyDateAsync(), чтобы следовать соглашениям async на C#. –

+0

Я думаю, что вам не хватает скобок после ToString. Строка должна читать: string NotifyDate = todoItem.ToString(); Без скобки вы получите ту же ошибку, что и в исходном вопросе. – WiteCastle

+0

@WiteCastle thx, исправлено – Artiom

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

  • Нет связанных вопросов^_^