Vinicius Quaiato

{tecnologia, conceitos, negócios, idéias, práticas, .NET, ruby, osx, ios e algo mais}

EF4 POCO: Mapping and metadata information could not be found


Fala galera, finalizando a edição de um artigo para a .Net Magazine o Guinther Pauli me pediu para verificar um erro com um exemplo de utilização de POCO com o EF4.Quando o ObjectSet ia ser criado a seguinte exceção era disparada:

Unhandled Exception: System.InvalidOperationException: Mapping and metadata information could not be found for EntityType 'POCO.Cliente'.
Analisando o projeto, tudo estava certo. O EDMX, a classe POCO, o container. Vasculhei de cabo a rabo todos os arquivos XML de mapeamento gerados.Gerei novamente o banco de dados, os arquivos de mapeamento, e nada.Troquei todos os namespaces do projeto, e ainda assim o erro persistia.Às vezes estamos atrás de algo completamente "mirabolante" e não nos atentamos aos detalhes mais simples.

Solução

Analisando tudo com muito cuidado e lendo 10.000 links no google finalmente encontrei o problema: No EDMX minha entidade Cliente estava definida com as propriedades Id e Nome.A minha classe Cliente estava definida com as propriedades ID e Nome. Perceberam? Pois é, o simples fato do D estava fazendo disparar esta exception, que não é nada descritiva.Fica aí a dica: Olhem com bastante atenção o nome das propriedades do Modelo e da Entidade.

Att, Vinicius Quaiato.

Voltar

Fork me on GitHub