Usuário com melhor resposta
Iniciante em Entity Framework

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
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- Sugerido como Resposta Fernando Henrique Inocêncio Borba FerreiraMicrosoft employee, Moderator sábado, 19 de maio de 2012 16:02
- Marcado como Resposta Rafael Augusto Miranda quarta-feira, 23 de maio de 2012 12:39
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- Sugerido como Resposta Fernando Henrique Inocêncio Borba FerreiraMicrosoft employee, Moderator sábado, 19 de maio de 2012 16:02
- Marcado como Resposta Rafael Augusto Miranda quarta-feira, 23 de maio de 2012 12:39
-
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é?
-
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 -