Я использую последнюю версию C# -driver для MongoDB. Я добавил следующий код в моей программе сериализовать в CamelCase:Ошибки десериализации после добавления пакета конвенции Camelcase
var camelCaseConvention = new ConventionPack { new CamelCaseElementNameConvention() };
ConventionRegistry.Register("CamelCase", camelCaseConvention, type => true);
Однако, я получаю проблемы при попытке запросить документы после того, как с помощью сериализации. Например:
var query = _collection.AsQueryable<TimeSeries>();
Console.WriteLine(query.ToJson());
возвращает следующее:
{ "_id" : ObjectId("54af0e848c27be15fc47a0d9"), "Name" : null, "Time" : null }
т.е., все свойства, кажется, быть пустым для идентификатора, за исключением.
Объект сериализован правильно, имена полей находятся в шкафу верблюда («имя» и «время»), и каждый документ содержит правильные данные («имя»: «Тест 1» и «время»: 2014).
Похоже, проблема заключается в том, что функция запроса не понимает, что поля находятся в CamelCase и поэтому возвращает нуль. Поэтому я не могу десериализации какие-либо предметы.
есть ли способ избежать этой ошибки?
Я отредактировал ваш заголовок. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –