none
Problema de mapeamento no EF4 - POCO (Tabela com nome diferente da classe de domínio) RRS feed

  • Pergunta

  • Pessoal, estou com um problema e não sei como proceder...

    Estou pesquisando uma maneira de fazer os nomes das minhas classes de domínio se associarem com um as tabelas do BD (já existente) no EF4 usando POCO. Por exemplo, tenho uma classe de negócio Regiao e minha tabela é gr_Regiao.

    Alguém sabe como fazer isso ou tem algum artigo pra indicar?

    Usando T4 consegui deixar a classe com nome igual, mas o problema é que só funciona se eu for lá no edmx e renomear o Name da Entidade para "Regiao" também... aí não resolve o problema porque toda vez que for gerar o edmx ele vai renomear tudo de novo.

    public ObjectSet<Regiao> Regiao
    {
        get { return _gr_Regiao ?? (_gr_Regiao = CreateObjectSet<Regiao>("gr_Regiao")); }
    }
    private ObjectSet<Regiao> _gr_Regiao;

    terça-feira, 5 de outubro de 2010 17:43

Respostas

  • Não teve como resolver pelo design, resolvi usando CTP4 - Desenvolvimento Antecipado de Código com Entity Framework 4 mapeando manualmente minhas classes com meu BD.

    http://weblogs.asp.net/scottguportuguese/archive/2010/07/16/desenvolvimento-antecipado-de-codigo-com-entity-framework-4.aspx

    http://weblogs.asp.net/scottguportuguese/archive/2010/07/23/entity-framework-4-codificacao-antecipada-mapeamento-personalizado-do-esquema-do-banco-de-dados.aspx

     

    Abraços

    • Marcado como Resposta Edmilson Lani quarta-feira, 6 de outubro de 2010 21:34
    quarta-feira, 6 de outubro de 2010 21:33

Todas as Respostas

  • Você pode clicar com o botão direito no objeto e escolher qual o mapeamento que ele deve assim os 2 não precisam ter o mesmo nome.

     

    abc


    Luciano Almeida MCAD / MCSD .NET
    quarta-feira, 6 de outubro de 2010 14:30
  • Não teve como resolver pelo design, resolvi usando CTP4 - Desenvolvimento Antecipado de Código com Entity Framework 4 mapeando manualmente minhas classes com meu BD.

    http://weblogs.asp.net/scottguportuguese/archive/2010/07/16/desenvolvimento-antecipado-de-codigo-com-entity-framework-4.aspx

    http://weblogs.asp.net/scottguportuguese/archive/2010/07/23/entity-framework-4-codificacao-antecipada-mapeamento-personalizado-do-esquema-do-banco-de-dados.aspx

     

    Abraços

    • Marcado como Resposta Edmilson Lani quarta-feira, 6 de outubro de 2010 21:34
    quarta-feira, 6 de outubro de 2010 21:33
  • ISso seria o "Code First"?
    quinta-feira, 7 de outubro de 2010 16:46
  • Exato Rafael...
    quinta-feira, 7 de outubro de 2010 16:48
  • Então não tem como vc fazer, pois se é Code First você está criando primeiro as classes, e depois o script do banco.

     

    O banco vai ter que ser igual as classes. 

    Depois de criar o banco, vc pode mudar os nomes no banco e fazer o mapeamento como eu disse anteriormente.

     

    a sugestão é a sua empresa adotar o mesmo nome dos objetos.

     

    abc


    Luciano Almeida MCAD / MCSD .NET
    sexta-feira, 8 de outubro de 2010 00:50
  • Luciano, tem como fazer sim... você consegue personalizar o mapeamento do seu código com o banco de dados...

     

    Olha esse link: http://weblogs.asp.net/scottguportuguese/archive/2010/07/23/entity-framework-4-codificacao-antecipada-mapeamento-personalizado-do-esquema-do-banco-de-dados.aspx

    sexta-feira, 8 de outubro de 2010 00:56
  • Mas este mapeamento é possível apenas depois do banco ser criado.

     

    abc


    Luciano Almeida MCAD / MCSD .NET
    sexta-feira, 8 de outubro de 2010 01:19