Object graph for type \'[type]\' contains cycles and cannot be serialized if reference tracking is disabled.
I have a simple class hierarchy setup using NHi
It is best practice to protect your domain and not let it go across process boundaries. I would recommend a DTO implementation to abstract your domain. There are other benefits as well including that you can provide an intention revealing interface(clients shouldn't have to think about how to use the service).