2017-06-15 9 views
-1

エンティティはクラスA(Raven-Clr-Type属性で示されています)として格納されています。何とか別のクラスにロード/シリアル化することは可能ですか?RavenDB - エンティティを格納されていたクラスと異なるクラスにロードする

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

どこABは別個のクラスです。 をデータベースで変更するのではなく、Raven-Clr-Typeで指定されているクラスとは異なるクラスにエンティティを逆シリアル化する方法が不思議です。

答えて

1

クラスBにロードされますが、それはベストプラクティスではありませんより:

var x = session.Advanced.DocumentStore.DatabaseCommands.Get("stringId/1").ToJson(); 
    MyType y = Newtonsoft.Json.JsonConvert.DeserializeObject<MyType>(x.ToString()); 
1
  1. 「パッチ」を使うとクラス& Bが同じ性質を持っている場合- または -
  2. クラスBの タイプを含むように「レイヴン-CLR-タイプ」を変更してくださいしかし だけ別のクラス名、あなたのコードからクラスに定義 を削除することができますし、RavenDBはこの作品
関連する問題