Serialize nhibernate entity to json error: Cannot serialize a Session while connected

8.9k Views Asked by At

I'm trying to serialize an nhibernate entity in to json but I always get this error saying Cannot serialize a Session while connected? Does it has something to do with nhibernate proxy?

2

There are 2 best solutions below

0
Zar Shardan On BEST ANSWER

I started getting the same error when I switched from System.Web.Script.Serialization.JavaScriptSerializer to Newtonsoft.Json.

Using the contract resolver from this answer fixed this problem:

string output = JsonConvert.SerializeObject(theObject,
                new JsonSerializerSettings()
                {
                    ContractResolver = new NHibernateContractResolver()
                });
0
Darin Dimitrov On

Yes, this is related to lazy loading. You will need to configure NHibernate to eagerly fetch associations if you want to be able to JSON serialize it. But I would recommend you using view models instead. Ayende Rahien blogged about this issue.