11

nhibernateエンティティをjsonにシリアル化しようとしていますが、接続中にセッションをシリアル化できないというエラーが常に発生します。nhibernateプロキシと関係がありますか?

4

2 に答える 2

15

に切り替えたときに同じエラーが発生し始めましSystem.Web.Script.Serialization.JavaScriptSerializerNewtonsoft.Json

この回答のコントラクトリゾルバーを使用すると、この問題が修正されました。

string output = JsonConvert.SerializeObject(theObject,
                new JsonSerializerSettings()
                {
                    ContractResolver = new NHibernateContractResolver()
                });
于 2012-08-22T21:16:00.127 に答える
7

はい、これは遅延読み込みに関連しています。JSONシリアル化できるようにする場合は、関連付けを熱心にフェッチするようにNHibernateを構成する必要があります。ただし、代わりにビューモデルを使用することをお勧めします。AyendeRahienがこの問題についてブログに書いています。

于 2011-05-02T06:20:36.380 に答える