1

我对 MS Azure DocumentDB 有严重的问题。

我知道它只是 pre-realese,但据我所知,据说可以将 Dynamic 和 POCO 对象保存为文档。当我保存动态对象时,它工作得很好(对象被添加到集合中):

     dynamic dynamicObject = new
                             {
                                 testId = "12",
                                 text = "aaa bbb ccc"
                             };
     await client.CreateDocumentAsync(collectionSelfLink, dynamicObject);

但是,当我尝试添加 POCO 对象时,它不起作用(没有添加到集合中):

    public class House
    {
        [JsonProperty(PropertyName = "id")]
        public string HouseId { get; set; }

        [JsonProperty(PropertyName = "name")]
        public string Name { get; set; }

        [JsonProperty(PropertyName = "address")]
        public string Address { get; set; }
    }

    ------------------

    House house = new House() {HouseId = "1", Name="TestHouse", Address="asdasdasd"};
    await client.CreateDocumentAsync(collectionSelfLink, house);

其他一切都是一样的。


编辑:临时解决方案是从 Microsoft.Azure.Documents.Document 类继承您的 POCO 类。

4

1 回答 1

1

根据我的评论,无法复制。这是我的测试项目:

  static void Main(string[] args)
  {
    House house = new House() { HouseId = "1", Name = "TestHouse", Address = "asdasdasd" };
    Document doc = client.CreateDocumentAsync(col.DocumentsLink, house).Result;

    Console.Write(doc.SelfLink);
    Console.ReadLine();
  }

  public class House
  {
    [JsonProperty(PropertyName = "id")]
    public string HouseId { get; set; }

    [JsonProperty(PropertyName = "name")]
    public string Name { get; set; }

    [JsonProperty(PropertyName = "address")]
    public string Address { get; set; }
  }

导致创建 1 个文档并将 doc.selfLink 打印到控制台。

于 2014-11-11T01:53:48.507 回答