¿Cómo decirle al SDK de DocumentDB que use camelCase durante la consulta de linq?
Considerando el documento{ "userName": "user1" }
almacenado en la colección de usuarios, y lo siguienteUser
clase:
public class User
{
public string Id { get; set; }
public string UserName { get; set; }
}
Con la siguiente configuración de JSON.net:
JsonConvert.DefaultSettings = () =>
{
return new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver(),
};
};
Cuando consulto con Linq como tal:
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
es nulo. Cambiar el documento para que tenga una cubierta pascal o el POCO para usar una cubierta de camello resuelve el problema. Por supuesto, no quiero ninguno de esos, ya que quiero que mis objetos JSON y C # estén "estandarizados".
¿Cómo puedo decirle al SDK de DocumentDB que asigne los nombres de propiedad de mi objeto usando una carcasa de camello, similar a JSON.net?