也许我在这里挑剔,但我想在我的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
中的文档结构相同。
当我在文档中添加新属性时,有没有办法确保我的属性的顺序被保留?