NHibernate & JSON
试着将一个 NHibernate Domain object 序列化成 JSON对象,却遇到了下面的错误:A circular reference was detected while serializing an object of type 'System.Reflection.Module'.
尝试了 N 种方法,搜索了 N 篇文章后,仍然没有找到问题的原因。还是官方的论坛权威,看了这个帖子后,我才明白:使用 ISession.Load 加载的只是未经初始化的 Proxy,而 ISession.Get 加载的对象是初始化的。之所以出现了循环引用的异常,就是因为 Proxy 在作怪,哎!看来,需要再学习一遍 NHibernate,而且要看看源码了……
最后,如果想使用 JavaScriptSerializer 序列化 NHibernate 对象,记得要使用 ISession.Get 方法,切记。