UpdateAsync不适用于Azure移动服务

时间:2015-01-25 10:37:31

标签: c# azure azure-mobile-services

我尝试使用以下代码使用.NET客户端更新Windows Azure移动服务数据库中的行:

List<TodoItem> myItemsList = await todoTable.Where(todoItem => todoItem.XID == 1).ToListAsync();
TodoItem myItem = myItemsList.First();
myItem.TITLE = "New Title";
await myClient.GetTable<TodoItem>().UpdateAsync(myItem);

XID属性只是我自己添加的整数键,与所需的guid不同。问题是更新没有通过。需要注意的一些事项是:

  • 检索部分在我调试时工作正常。在本地,TITLE属性设置为&#34; New Title&#34;正确,但是当执行UpdateAsync命令时,我将鼠标移到&#39; myItem&#39;实例我看到TITLE属性已恢复为原始值。
  • 我在测试代码时损坏了guid,并且UpdateAsync按预期失败了,因为我的表中没有带有guid的记录。
  • 我很确定此代码之前有效,但现在还没有。

现在我正在运行DeleteAsync命令,然后执行InsertAsync,这样就可以了。但是我很困惑为什么UpdateAsync命令对我来说不起作用,以及为什么当它执行时它会刷新“myItem”#39;具有原始数据的实例。

1 个答案:

答案 0 :(得分:0)

根本不确定,但如果你绝望,请尝试改变: (没有评论的声誉)

List<TodoItem> myItemsList = await todoTable.Where(todoItem => todoItem.XID == 1).ToListAsync(); TodoItem myItem = myItemsList.First();

到:

TodoItem myItem = todoTable.Where(todoItem => todoItem.XID == 1).FirstOrDefault();