Referencias circulares y WCF

He generado mis entidades POCO usando POCO Generator, tengo más de 150 tablas en mi base de datos. Estoy compartiendo entidades POCO en todas las capas de aplicación, incluido el cliente. He desactivado tanto LazyLoading como ProxyCreation en mi contexto. Estoy usando WCF además de mi acceso a datos y mi capa empresarial.

Ahora, cuando devuelvo una entidad poco a mi cliente, aparece un error que dice "Se cerró la conexión subyacente " Habilité el rastreo de WCF y encontré el error exacto: Contiene ciclos y no se puede serializar si el seguimiento de referencia está desactivado.

Miré a MSDN y encontré soluciones como establecer IsReference = true en el atributo del método DataContract, pero no estoy decorando mis clases de POCO con DataContracts y supongo que tampoco es necesario. No llamaré a eso como POCO si decoro una clase con el atributo DataContract

Luego, encontré soluciones como aplicar el atributo personalizado [CyclicReferenceAware] sobre mis ServiceContract. Eso funcionó, pero quería enviar esta pregunta a la comunidad para ver cómo otras personas lograron esto y también por qué Microsoft no dio soporte incorporado para descifrar cíclico referencias al serializar clases POCO

Respuestas a la pregunta(3)

Su respuesta a la pregunta