1

假设我有下表:

 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. 这就是我希望能够做到的:

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

2 回答 2

2

您可以只创建要单独插入的项目,以便您可以在插入后使用它的引用:

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)
于 2013-05-05T10:32:13.137 回答
0

在(当前)测试版客户端 SDK 中对此进行了重大更改。有关详细信息,请参阅此帖子:

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

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

内特

于 2013-05-13T17:58:54.553 回答