【发布时间】:2014-02-21 06:27:33
【问题描述】:
我刚刚完成了对我的应用程序的一轮重构,这导致我删除了一个不再需要的项目并将其类移到另一个项目中。这样做的一个副作用是我的 User 类(存储在 RavenDB 中)具有移动到新程序集的类型的集合属性。一旦我尝试在会话中查询User 类,我就会收到Json 反序列化错误。这个问题涉及here,但答案并没有解决我的问题。这是有问题的属性:
{
"OAuthAccounts": {
"$type": "System.Collections.ObjectModel.Collection`1[
[Friendorsement.Contracts.Membership.IOAuthAccount,
Friendorsement.Contracts]], mscorlib",
"$values": []
},
}
OAuthAccounts 是 User 的一个集合属性,用于映射到这里:
System.Collections.ObjectModel.Collection`1[[Friendorsement.Contracts.Membership.IOAuthAccount, Friendorsement.Contracts]]
现在映射到这里:
System.Collections.ObjectModel.Collection`1[[Friendorsement.Domain.Membership.IOAuthAccount, Friendorsement.Domain]]
Friendorsement.Contracts 不再存在。它的所有类型现在都在Friendorsement.Domain
我尝试使用store.DatabaseCommands.StartsWith("User", "", 0, 128),但没有返回任何内容。
我试过查看UpdateByIndex,但没有走得太远:
store.DatabaseCommands.UpdateByIndex("Raven/DocumentsByEntityName",
new IndexQuery {Query = "Tag:Users"},
new[]
{
new PatchRequest { // unsure what to set here }
});
我正在使用 Raven 2.0
【问题讨论】: