Asp.net-Mvc-3
將休眠實體序列化為 json 錯誤:連接時無法序列化會話
我正在嘗試將 nhibernate 實體序列化為 json,但我總是收到此錯誤消息:連接時無法序列化會話?它與休眠代理有關嗎?
當我從 切換
System.Web.Script.Serialization.JavaScriptSerializer到時,我開始遇到同樣的錯誤Newtonsoft.Json。使用此答案中的契約解析器解決了此問題:
string output = JsonConvert.SerializeObject(theObject, new JsonSerializerSettings() { ContractResolver = new NHibernateContractResolver() });
是的,這與延遲載入有關。如果您希望能夠對它進行 JSON 序列化,您將需要配置 NHibernate 以急切地獲取關聯。但我建議您改用視圖模型。Ayende Rahien 在部落格上討論了這個問題。