看到这样的错误后:
找不到用于类型 XXX 的构造函数。一个类应该 要么有一个默认构造函数,一个带参数的构造函数,要么有一个 使用 JsonConstructor 属性标记的构造函数。路径二十.XX
当尝试从RavenDB加载已经持久化的数据时,我尝试使用[JsonConstructor],但我无法让它工作。
在删除所有其他构造函数以强制 RavenDB 使用我想要的构造函数(并尝试各种其他事情)后,它起作用了,导致我认为该属性似乎被 RavenDB 忽略了。
但是,RavenDB 自定义序列化文档建议所有属性都应该有效。
经过大量研究,我发现了一个不相关的帖子:
http://issues.hibernatingrhinos.com/issue/RavenDB-3011?preventRedirect=true
简单的问题是 RavenDb 已将其属性放在另一个命名空间中,请确保您使用
Raven.Imports.Newtonsoft.Json.JsonConstructorAttribute
不:
Newtonsoft.Json.JsonConstructorAttribute
咚!