上传到 documentDB 缺少复杂对象的内部 JSON 成员

Uploading to documentDB is missing inner JSON members of complex objects

我正在使用以下代码将数据上传到 documentDB:

   private static async Task UploadEntry(OptimizationData entry)
    {
        try
        {
            string endpointUrl = ConfigurationManager.AppSettings.Get("DocumentDBEndpointURL");
            string authorizationKey = ConfigurationManager.AppSettings.Get("DocumentDBAuthKey");
            string databaseId = ConfigurationManager.AppSettings.Get("DocumentDBDatabaseId");
            string collectionName = ConfigurationManager.AppSettings.Get("CollectionName");

            using (DocumentClient client = new DocumentClient(new Uri(endpointUrl), authorizationKey))
            {
                DocumentCollection documentCollection = client.CreateDocumentCollectionQuery("dbs/" + databaseId).Where(c => c.Id == collectionName).AsEnumerable().FirstOrDefault();

                if (documentCollection != null)
                {
                    await client.CreateDocumentAsync("dbs/" + databaseId + "/colls/" + documentCollection.Id, entry);
                }
            }

        }
        catch
        {
            //Ignored
        }

    }

现在我的对象是这些类型:

 public class OptimizationData
{
    [DataMember]
    public string Id { get; set; }

    [DataMember]
    public Dictionary<DateTime,OptimizationEntry> Optimization;
}

优化条目如下所示:

   [DataContract]
   public class OptimizationEntry 
   {
    [DataMember]
    public decimal price{ get; set; }
    public decimal optimalPrice { get; set; }         
    public decimal weight { get; set; }
   }

问题是,当我在 Azure 的门户上查看我的文档资源管理器时,字典的内部项目丢失了。即,它有日期时间和第一项(价格)但不是 optimialPrice 和 Weight

"Optimization": {
"2016-01-27T21:00:00": {
  "price": 179.482711791992
},
"2016-01-27T22:00:00": {
  "price": 196.533660888672
},

 ....

有没有什么方法可以让我插入文档,以免遗漏内部对象?

为未来可能需要帮助的人回答这个问题,他们没有显示的原因是 OptimizationEntry 只有 "price" 作为 [DataMember] 以便可以序列化,其他两个没有.因此 JSON 序列化没有将它们包含在上传中。