需要帮助查询azure移动服务数据库

时间:2015-08-25 19:14:09

标签: c# azure azure-mobile-services querying

我正在尝试查询azure移动服务数据库以获取特定记录。我需要查询来查找NotifyDate列等于当前日期的记录。然后从找到的记录中,我想获取记录的Name列中的字符串值,并将其存储在我可以在数据库外部使用的字符串中。

这是我想出的,但它给了我一个错误:

  

无法将方法组'ToString'转换为非委托类型'string'。   你打算调用这个方法吗?

在以下行:

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];
}

1 个答案:

答案 0 :(得分:1)

尝试以下代码

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

FindNotifyDate是异步操作。您必须等待其完成才能致电ToString() TodoItem。否则,在您的示例中,您将获得Task作为结果类型,而这不是您所期望的。使其同步操作以在呼叫后立即呼叫ToString()或等待完成,如上例所示。