none
Iniciante em Entity Framework RRS feed

  • Pergunta

  • Galera primeiramente me desculpa se for falar alguma babozeira rsrsrsrsrr

    Bom sou iniciante em EF, tenho essas perguntas

    1 - O Model first vc cria o seu modelo quera gera automatico o codigo por traz e depois gera o banco?

    2 - O Code first vc escreve o codigo herdando o DbContext que o EDM geraria e depois gera o banco e aqui você escreve no padrão POCO?

    3 - Se eu fosse fazer um insert por exemplo, qual seria melhor o Save Changes ou inserir por stored Procedure

    4 - Existe mais alguma coisa de First a mais?

    Valeu

    sexta-feira, 18 de maio de 2012 19:45

Respostas

  • Rafael,

    Respondendo as suas perguntas:

     
    1 - O Model first vc cria o seu modelo quera gera automatico o codigo por traz e depois gera o banco?

         No Model First você desenha o banco usando o EF Designer e depois gera o banco de dados ou o script para executar no banco.  O código das classes é gerado no arquivo .CS do EDMX. Você pode também usar classes POCO, desabilitando a geração de classes no EDMX, nas propriedades.

    2 - O Code first vc escreve o codigo herdando o DbContext que o EDM geraria e depois gera o banco e aqui você escreve no padrão POCO?

         no CodeFirst não existe o EDM, você pode usar o EF PowerTools ou o Migrations para gerar o banco de dados. As classes são POCO

    3 - Se eu fosse fazer um insert por exemplo, qual seria melhor o Save Changes ou inserir por stored Procedure

         O CodeFirst ainda não suporta procedures, neste caso você teria que usar o EDMX. Eu particularmente não uso procedures em CRUD.

    4 - Existe mais alguma coisa de First a mais?

         Existe o DataBase First, neste modelo você já tem o banco pronto e você gera as classes.

    []s,

     


    Carlos dos Santos
    blog: www.carloscds.net 
    twitter: @cdssoftware

    sexta-feira, 18 de maio de 2012 20:02

Todas as Respostas

  • Rafael,

    Respondendo as suas perguntas:

     
    1 - O Model first vc cria o seu modelo quera gera automatico o codigo por traz e depois gera o banco?

         No Model First você desenha o banco usando o EF Designer e depois gera o banco de dados ou o script para executar no banco.  O código das classes é gerado no arquivo .CS do EDMX. Você pode também usar classes POCO, desabilitando a geração de classes no EDMX, nas propriedades.

    2 - O Code first vc escreve o codigo herdando o DbContext que o EDM geraria e depois gera o banco e aqui você escreve no padrão POCO?

         no CodeFirst não existe o EDM, você pode usar o EF PowerTools ou o Migrations para gerar o banco de dados. As classes são POCO

    3 - Se eu fosse fazer um insert por exemplo, qual seria melhor o Save Changes ou inserir por stored Procedure

         O CodeFirst ainda não suporta procedures, neste caso você teria que usar o EDMX. Eu particularmente não uso procedures em CRUD.

    4 - Existe mais alguma coisa de First a mais?

         Existe o DataBase First, neste modelo você já tem o banco pronto e você gera as classes.

    []s,

     


    Carlos dos Santos
    blog: www.carloscds.net 
    twitter: @cdssoftware

    sexta-feira, 18 de maio de 2012 20:02
  • Na pergunta 1 já que eu tenho a opção de utilizar o EF Designer e não gerar o codigo automatico eu teria que usar o DataAnnotations para mapear as propriedades com os campos da tabela?

    Na perguta 3 eu também teria q usar o DataAnnotations?

    Na pergunta 4 eu crio o edmx tenho dois tipos de modelo o Database First e Model First, é isso né?

    sexta-feira, 18 de maio de 2012 20:21
  • Rafael,

    Se você desativar a geração de código do designer e criar suas classes POCO, elas precisam ter o mesmo nome de campo do designer, e você pode ainda colocar o annotations para especificar por exemplo, o nome dos campos a ser gerado no banco.

    O EDMX é usado tando no DataBase quanto no Model First. Somente o CodeFirst não precisa do EDMX.

    []s,


    Carlos dos Santos
    blog: www.carloscds.net 
    twitter: @cdssoftware

    sexta-feira, 18 de maio de 2012 21:56
  • Carlos você resolveu minha duvidas muito obrigado pelas respostas

    Abraços

    quarta-feira, 23 de maio de 2012 12:38