2014-11-10 3 views
1

MS Azure DocumentDB에 심각한 문제가 있습니다.Azure, DocumentDB는 POCO 개체를 문서로 저장할 수 없습니다.

나는 그것이 프리 - 리얼 (pre-realese)에 불과하다는 것을 알고 있지만, 동적 및 POCO 오브젝트를 문서로 저장할 수 있다고 말한 것을 알고 있습니다. 나는 동적 객체를 저장하면 그것은 (객체가 컬렉션에 추가) 잘 작동합니다 :

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

을하지만, 내가 마시고 obejct을 추가 할 때, 그것은 작품을 나던 (아무 컬렉션에 추가되지 않습니다) :

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); 

그 밖의 모든 것은 같습니다.


EDIT : 임시 해결책은 Microsoft.Azure.Documents.Document 클래스에서 POCO 클래스를 상속하는 것입니다.

+0

나는 이것을 재현 할 수 없으며, 예상대로 작동한다. 코드를 더 게시하거나이 코드를 reprint하는 프로젝트를 게시 할 수 있습니까? –

답변

1

내 의견에 따라, 이것을 repro 수 없습니다. 1 개 문서 작성 doc.selfLink는 콘솔에 인쇄되고에서

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; } 
    } 

결과 : 여기 내 테스트 프로젝트입니다.