RavenDb对象实例化

时间:2011-12-30 12:41:42

标签: .net nosql ravendb

我注意到RavenDb不要求实体拥有默认构造函数。那么在查询期间如何创建对象呢?

3 个答案:

答案 0 :(得分:2)

IDSA, 它的工作方式,当你有一个ctor和一个json时,我们尝试将ctor参数与json属性相匹配,看看我们是否可以使它工作。

此行为内置于Json.NET

答案 1 :(得分:0)

我相信RavenDB无法自动处理这个问题。如果我没有弄错的话,RavenDB会使用Newtonsoft JSON库序列化为JSON。因此,您必须为其提供自定义解析器。

请参阅RavenDB常见问题解答'Immutable entities'和Raven DB Google Group上的this discussion了解更多信息。

答案 2 :(得分:-1)

当你没有指定一个Visual Studio自动在IL中生成一个。

如果指定了private no arguments构造函数,则不会生成默认的public no arguments构造函数。

作为实验尝试添加默认的无参数私有构造函数来测试这个理论。我认为RavenDb可能存在此问题。