NHibernate serialization has been treated a lot on stackoverflow. See:
- C# Castle ActiveRecord: How to elegantly (XML) serialize ActiveRecord objects?
- How do I serialize all properties of an NHibernate-mapped object?
- NHibernate and WCF Serialization(Unidirectional)
- JSON.NET and nHibernate Lazy Loading of Collections
- Which .NET JSON serializers can deal with NHibernate proxy objects?
- DTOs vs Serializing Persisted Entities
- Returning NHibernate mapping classes from WCF services
Bottom line: use DTOs.