【问题标题】:Azure Mobile Services - Updating an Entry in the DatabaseAzure 移动服务 - 更新数据库中的条目
【发布时间】:2015-05-15 04:04:05
【问题描述】:

我正在尝试更新名为 Request 的表中的条目。此表包含“名称”和“已接受”等列。 我只想更新“已接受”字段(它包含一个布尔值),使其变为真。我只希望在满足某些条件时更新它,即数据库中的“名称”与文本框中的相同。

private IMobileServiceTable<Request> requestTable= App.appClient.GetTable<Request>();
private MobileServiceCollection<Request, Request> requests;

requests= await requestTable
        .Where(c => c.Name == txtName.Text)
        .ToCollectionAsync();

//what should I put here to update Accepted to true?

await requestTable.UpdateAsync(requests);

如何修改此代码,以便将 Accepted 更新为 true,但仅适用于名称匹配的行?

任何帮助将不胜感激,谢谢。

【问题讨论】:

    标签: c# azure azure-mobile-services


    【解决方案1】:

    你可以这样做。

    codes.ForEach(p =&gt; p.Request = true);

    【讨论】:

    • 感谢您的回复。不幸的是,这仍然对我不起作用。它在“Foreach”下给出了一条红色波浪线,表示 DataModel.Code 不包含“ForEach”的定义。有什么我遗漏的吗?
    • @PhoenixFirenzy ,你能不能试试ToListAsync 而不是ToCollectionAsync 或者你能不能把code 转换成IEnumerable 然后再试试.ForEach。 ForEach 是一个适用于所有可枚举对象的 lambda 表达式,它应该可以工作!
    • 是的,你已经完成了,我告诉你的,它应该可以工作,顺便问一下,错误是什么? - 是 lambda 表达式 .ForEach 吗?
    • @PhoenixFirenzy,确保你有 using System.Linq,如果 .ForEach 仍然不起作用,那么你可以手动使用 foeach() {} 循环来做到这一点,最终缩短的表达式扩展到这个 - @987654321 @
    猜你喜欢
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多