Я использую Azure Функция приложения. В приложении я использую пакет Microsoft. Azure .DocumentDB v2.9.2 для работы с CommosDB. Моя сущность:
public abstract class Entity
{
[JsonProperty("id")]
public string id { get; set; }
}
public class MyLog : Entity
{
[JsonProperty("createDate")]
public DateTime CreateDate { get; set; }
}
Когда я сериализую MyLog
с Newtonsoft.Json
, я вижу, что свойство CreateDate
имеет стиль верблюжьего случая и выглядит точно так же, как упомянуто в JsonProperty
, но когда я пишу свою сущность к CosmosDB методом CreateDocumentAsync
я вижу, что CreateDate
теперь pascal case и выглядит как CreateDate
. Хочу отметить, что ContractResolver
не используется. Я не могу найти другое место, где pascal case может быть применен к сериализации объекта.
[ОБНОВЛЕНИЕ]
Когда я запускаю тесты, я вижу, что именование свойств в БД является правильным (с учетом JsonProperty). Это неправильно, только когда azure fun c пишет в DB
var policy = new ConnectionPolicy();
policy.PreferredLocations.Add("Germany North");
documentClient = new DocumentClient(endPoint, key, policy);
await documentClient.OpenAsync();
...
await documentClient.CreateDocumentAsync(UriFactory.CreateDocumentCollectionUri(databaseName, collectionName), document);
[/ UPDATE]
Может кто-нибудь предложить, какие другие варианты могут привести к такому поведению?