1

MS Azure DocumentDB に重大な問題があります。

私はそれがプレリアルであることを知っていますが、私が知っているように、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 に答える