Referências circulares e WCF

Eu criei minhas entidades POCO usando o POCO Generator, tenho mais de 150 tabelas no meu banco de dados. Estou compartilhando entidades POCO em todas as camadas do aplicativo, incluindo o cliente. Eu desabilitei o LazyLoading e o ProxyCreation no meu contexto. Estou usando o WCF na parte superior da camada de negócios e acesso a dados.

Agora, quando eu retorno uma entidade poco para meu cliente, recebo um erro dizendo "A conexão subjacente foi fechada " Ativei o rastreamento WCF e encontrei o erro exato: Contém ciclos e não pode ser serializado se o rastreamento de referência estiver desativado.

Eu olhei para o MSDN e encontrei soluções como a configuração IsReference = true no método DataContract atttribute, mas não estou decorando minhas classes POCO com DataContracts e presumo que não há necessidade disso também. Não chamarei isso de POCO se decorar uma classe com o atributo DataContract

Em seguida, encontrei soluções como a aplicação do atributo personalizado [CyclicReferenceAware] nos meus ServiceContracts. Isso funcionou, mas eu queria levar essa pergunta à comunidade para ver como outras pessoas gerenciavam isso e também por que a Microsoft não dava suporte interno para descobrir problemas cíclicos. referências ao serializar classes POCO

questionAnswers(3)

yourAnswerToTheQuestion