Estrutura de entidades em arquiteturas em camadas

Recentemente li o artigo "A estrutura de entidades na arquitetura em camadas"e está escrito que podemos enviar entidades EF para o cliente através do WCF. Mas em muitos threads no Stackoverflow, as pessoas dizem que os objetos POCO (DTO) devem ser usados quando usamos o WCF. E eu tenho algumas perguntas.

Por que a Microsoft adicionou o atributo DataContract às entidades EF? A Microsoft queria que usássemos esses objetos em todos os lugares em nossos aplicativos? Ou isso é apenas para aplicativos muito simples e para desenvolvimento rápido?

Se eu usar objetos POCO, devo criar Entidades EF geradas automaticamente, Entidades POCO e depois usar qualquer biblioteca de mapeamento entre elas? Ou devo usar apenas objetos POCO em todos os componentes do meu aplicativo?

Se eu já tenho minha própria entidade comercial, que possui alguns métodos, e ela deve ser mapeada para o objeto POCO, em qual camada devo converter o objeto POCO em minha entidade (por exemplo, eu tenho camada de persistência, camada de lógica de negócios, camada de serviço (WCF), camada do apresentador (cliente, use WCF), camada da interface do usuário)? Ou eu não deveria fazer dessas minhas próprias entidades?

desde já, obrigado

questionAnswers(3)

yourAnswerToTheQuestion