Учитывая документ { "userName": "user1" }
, хранящийся в коллекции пользователя, и следующий User
класс:
public class User
{
public string Id { get; set; }
public string UserName { get; set; }
}
Со следующими настройками JSON.net:
JsonConvert.DefaultSettings = () =>
{
return new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver(),
};
};
Когда я запрашиваю Linq как таковой:
var t = _client.CreateDocumentQuery<User>(_collection.SelfLink)
.Where(u => u.UserName == "user1").AsDocumentQuery().ExecuteNextAsync();
t.Wait();
var users = t.Result;
var user = users.FirstOrDefault();
User
имеет значение null. Изменение документа, чтобы иметь корпус Pascal или POCO для использования корпуса верблюда, решает проблему. Конечно, я не хочу никого из них, поскольку я хочу, чтобы объекты JSON и объекты С# были "стандартизированы".
Как я могу сообщить SDK DocumentDB для сопоставления имен свойств объекта с помощью верблюжьей оболочки, аналогичной JSON.net?