在插入后获取结果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;
您可以单独创建您想要插入的项,这样您就可以在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在上面的帖子中更详细地解释了这一点。
内特