Azure,DocumentDB无法将POCO对象保存为文档

标签 azure poco azure-cosmosdb

我在使用 MS Azure DocumentDB 时遇到严重问题。

我知道它只是预实现的,但据我所知,据说可以将动态和 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 类。

最佳答案

根据我的评论,无法重现此内容。 这是我的测试项目:

  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 被打印到控制台。

关于Azure,DocumentDB无法将POCO对象保存为文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26854543/

相关文章:

c++ - 固定大小的容器,旧元素将被删除

entity-framework-4 - 使用 Entity Framework 4 POCO 放弃更改

azure - 无法在 Azure Analysis Services 中添加/连接 CosmosDB

azure - 如何使用 Azure CLI 命令清除 Cosmos (MongoAPI) 集合?

c# - 如何从带有guid id的集合中进行选择?

azure - 需要获取上次事件日期或某个日期以在 azuredevops 中显示不活动的项目

azure - KQL 更改评估数据透视表中的列顺序

sql-server - SSMS - 无法使用本地计算机上的 SSMS 连接到 Azure VM 上的 SQL Server 2017 Express

Azure 存储 Cmdlet Rename-Blob 需要 EndPoint

c# - EF如何确定可为空的参数?