2011-12-30 4 views

ответ

2

Idsa, Как это работает, когда у вас есть ctor и json, мы пытаемся сопоставить параметры ctor с json-свойствами и посмотреть, можем ли мы заставить его работать.

Такое поведение встраивается в Json.NET

+0

Действительно классный материал :) – SiberianGuy

-1

Если вы не указали одну Visual Studio, она автоматически генерирует ее в IL.

Если вы указали частный конструктор аргументов без аргументов, конструктор public public без аргументов не будет создан.

В качестве эксперимента попробуйте добавить частный конструктор аргументов по умолчанию для проверки этой теории. Я бы предположил, что у RavenDb может быть проблема с этим.

+0

У меня есть объект с одним не по умолчанию общественного consructor, и я не вижу RavenDb имеет никаких проблем с ним. Мне просто интересно, почему это так – SiberianGuy

0

Я считаю, что RavenDB не может справиться с этим автоматически. RavenDB сериализуется в JSON с использованием библиотеки Newtonsoft JSON, если я не ошибаюсь. Таким образом, вы должны предоставить ему настраиваемый преобразователь.

См. 'Immutable entities' на часто задаваемые вопросы о RavenDB и this discussion в группе Raven DB Google для получения дополнительной информации.

+0

Цитата из обсуждения, о котором вы упомянули: «JsonSerializer , похоже, просто работает как без каких-либо настроек». Так что это действительно работает (и я вижу это в своем приложении). Мне просто интересно, как это реализовано – SiberianGuy

Смежные вопросы