文档中的新属性在Cosmos DB中排在最后

时间:2018-04-22 06:20:51

标签: azure azure-cosmosdb

也许我在这里挑剔,但我想在我的documents收藏中保持我的Cosmos DB友善和有条理。

我在DAO classes中设置对象属性的顺序 - 见下文:

public class MyObject
{
   [JsonProperty("id", Order = 1)]
   public Guid Id { get; set; }

   [JsonProperty("firstName", Order = 2)]
   public string FirstName { get; set; }

   [JsonProperty("lastName", Order = 3)]
   public string LastName { get; set; }

   [JsonProperty("email", Order = 4)]
   public string EmailAddress { get; set; }
}

我看到的问题是,如果我向我的对象添加一个新属性并将其保存为document中的Cosmos DB,则新属性似乎会插入到底部,而不管我在DAO object中为其设置的顺序。

说,我在下面添加一个出生日期属性:

public class MyObject
{
   [JsonProperty("id", Order = 1)]
   public Guid Id { get; set; }

   [JsonProperty("firstName", Order = 2)]
   public string FirstName { get; set; }

   [JsonProperty("lastName", Order = 3)]
   public string LastName { get; set; }

   [JsonProperty("dob", Order = 4)]
   public DateTime DateOfBirth { get; set; }

   [JsonProperty("email", Order = 5)]
   public string EmailAddress { get; set; }
}

当我在Azure门户的数据资源管理器中检查我的文档时,这就是我所看到的:

{
   "id": "23b03604-bf35-43bb-895f-a208d3df0847",
   "firstName": "Jane",
   "lastName: "Doe",
   "email": "me@me.com",
    "_rid": "bf0eAMcH2wAXAAAAAAAAAA==",
    "_self": "dbs/bf0eAA==/colls/bf0eAMcH2wA=/docs/bf0eAMcH2wAXAAAAAAAAAA==/",
    "_etag": "\"09001cb6-0000-0000-0000-5adc25130000\"",
    "_attachments": "attachments/",
    "dob": "1991-02-08T00:00:000.0000000Z",
    "_ts": 1524376851
}

即使这对我运行查询的能力似乎没有任何影响,但我希望保持文档结构与DAO object中的文档结构相同。

当我在文档中添加新属性时,有没有办法确保我的属性的顺序被保留?

0 个答案:

没有答案