RavenDB - 将实体加载到与存储为不同的 class

RavenDB - Loading entity into a different class than it was stored as

实体存储为 class A(在 "Raven-Clr-Type" 属性中指示)。有没有可能以某种方式 load/serialize 将它变成不同的 class?

 B entity = session.Load<B>(id) 

其中 AB 不同 classes.

编辑:我不是在谈论更改数据库中的 Raven-Clr-Type,而是想知道如何将实体反序列化为与 [=15] 中指定的实体不同的 class =].

  1. 使用 'patch' 并修改 "Raven-Clr-Type" 以包含 class B -或-
  2. 的类型
  3. 如果class是A和B有相同的属性但是 只是 class 名称与您可以删除 class 定义不同 从你的代码和 RavenDB 将加载到 class B

这可行,但不是最佳实践:

  var x = session.Advanced.DocumentStore.DatabaseCommands.Get("stringId/1").ToJson();
  MyType y = Newtonsoft.Json.JsonConvert.DeserializeObject<MyType>(x.ToString());