在插入后获取结果ID

本文关键字:结果 ID 获取 插入 | 更新日期: 2023-09-27 18:12:15

假设我有以下表格:

 public class SomeItem
 {
    public int Id { get; set; }
    [DataMember(Name = "text")]
    public string Text { get; set; }
 }

我可以很容易地这样做:

var items = await MobileService.GetTable<SomeItem>.Where(x=>x.Id > 50).ToListAsync();
//print items here

,但我没能找到一种方法来获得结果项,一旦它已被插入。例如,我可能需要SomeItem的Id。这是我希望能够做到的:

var item = await MobileService.GetTable<SomeItem>.Insert(new SomeItem{Text="hi"}).Result;

在插入后获取结果ID

您可以单独创建您想要插入的项,这样您就可以在insert之后使用对它的引用:

var newItem = new SomeItem{Text="hi"};
await MobileService.GetTable<SomeItem>.Insert(newItem); // Or whatever syntax you need here!
// Now you can use newItem after it's been inserted (and the 'Id' key has been updated by the insert)

在(目前的)beta客户端SDK中有突破性的变化。详情请看这篇文章:

http://blogs.msdn.com/b/carlosfigueira/archive/2013/03/14/azure-mobile-services-managed-client-upcoming-breaking-changes.aspx

在您在回答中提供的代码中,由于"SomeItem"是已知的数据类型,我认为行为将保持不变,对象将被修补到位。如果您使用的是无类型数据(JSON),则对象将不会被打补丁。您必须依靠返回的对象来检查id的值。Carlos在上面的帖子中更详细地解释了这一点。

内特