Considerando il documento { "userName": "user1" }
memorizzato nella raccolta utente, e la seguente User
classe:Come dire a DocumentDB SDK di usare camelCase durante la query linq?
public class User
{
public string Id { get; set; }
public string UserName { get; set; }
}
con le seguenti impostazioni Json.NET:
JsonConvert.DefaultSettings =() =>
{
return new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver(),
};
};
Quando interrogo con LINQ come tale:
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
è nullo. Cambiare il documento per avere un involucro pascal o il POCO per usare un rivestimento di cammello risolve il problema. Ovviamente non voglio nessuno di quelli che voglio che i miei oggetti JSON e gli oggetti C# siano "standarizzati".
Come posso dire all'SDK di DocumentDB di mappare i nomi delle proprietà del mio oggetto utilizzando la carcassa di cammello, simile a JSON.net?
Questa risposta (http://stackoverflow.com/a/25879197/272109) risolve il problema? Non è esattamente una domanda doppia, ma credo che la risposta pubblicata copra quello che stai cercando. –