Betrachtet man das Dokument { "userName": "user1" }
in der Benutzersammlung gespeichert und die folgenden User
Klasse:Wie kann DocumentDB SDK angewiesen werden, camelCase während der linq-Abfrage zu verwenden?
public class User
{
public string Id { get; set; }
public string UserName { get; set; }
}
Mit den folgenden JSON.net Einstellungen:
JsonConvert.DefaultSettings =() =>
{
return new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver(),
};
};
Wenn ich mit Linq als solche Abfrage:
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
ist null. Wenn Sie das Dokument ändern, um ein Pascal-Gehäuse zu erhalten, oder das POCO, um ein Camel-Gehäuse zu verwenden, wird das Problem gelöst. Natürlich möchte ich keines davon, da meine JSON-Objekte und C# -Objekte "standardisiert" sein sollen.
Wie kann ich sagen, das DocumentDB SDK meine Objekteigenschaftsnamen mit Kamel Gehäuse, ähnlich wie JSON.net abzubilden?
Does [diese Antwort] (http://stackoverflow.com/a/25879197/272109) Ihr Problem lösen? Es ist nicht genau eine doppelte Frage, aber ich glaube, die veröffentlichte Antwort deckt ab, wonach Sie suchen. –