atravessando o gráfico de objetos do cliente de n camadas

Atualmente, sou aluno de um aplicativo .net de camada n que usa Nhibernate + WCF + WPF.

Uma das coisas mais terríveis é a serialização de gráficos de objetos. Na verdade, não é de todo, as associações atualmente são ignoradas e estamos usando DTOs em todos os lugares.

Tanto quanto eu posso dizer que um método a seguir é predefinir quais objetos e coleções devem ser carregados e serializados para atravessar o fio, podendo assim apresentar algumas associações ao cliente; no entanto, isso parece limitado, inflexível e inconsistente (você pode diga que não gosto dessa idéia).

Uma opção que me ocorreu foi simplesmente substituir os NHProxies que carregam preguiçosamente a coleção na camada do cliente por um "proxy desconectado" que recuperaria o material associado pelo fio. Isso significaria que teríamos que expandir um pouco nossa assinatura de serviço da web e invadir nossos proxies gerados, mas isso parecia um bom experimento de geração de código T4 / outro.

Tanto quanto posso dizer, isso parece ser um obstáculo comum, mas depois de ler muito, não consegui descobrir nenhuma solução boa / geralmente aceita. Estou procurando um pouco de orientação, tanto quanto qualquer solução específica, mas se houver uma maneira fácil de fazer o cliente "se sentir" conectado, informe-me.

questionAnswers(3)

yourAnswerToTheQuestion