Xét tài liệu { "userName": "user1" }
lưu trữ trong bộ sưu tập dùng, và User
lớp sau:Làm thế nào để báo cho DocumentDB SDK sử dụng camelCase trong khi truy vấn LINQ?
public class User
{
public string Id { get; set; }
public string UserName { get; set; }
}
Với các thiết lập JSON.net sau:
JsonConvert.DefaultSettings =() =>
{
return new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver(),
};
};
Khi tôi truy vấn với LINQ như vậy:
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
is null. Thay đổi tài liệu để có một vỏ pascal hoặc POCO để sử dụng một vỏ lạc đà giải quyết vấn đề. Tất nhiên tôi không muốn bất kỳ ai trong số đó vì tôi muốn các đối tượng JSON của tôi và các đối tượng C# được "standarized".
Làm cách nào để tôi có thể yêu cầu DocumentDB SDK ánh xạ tên thuộc tính của đối tượng bằng cách sử dụng vỏ camel, tương tự như JSON.net?
[câu trả lời này] (http://stackoverflow.com/a/25879197/272109) có giải quyết được sự cố của bạn không? Nó không chính xác là một câu hỏi trùng lặp, nhưng tôi tin rằng câu trả lời được công bố bao gồm những gì bạn đang tìm kiếm. –