Curso Entity Framework - Adicionando uma nova entidade no cenário desconectado - XIX


  Nesta aula vamos mostrar como adicionar uma nova entidade no cenário desconectado que insere uma nova linha na tabela do banco de dados.(aula anterior)

Para incluir uma nova entidade simples em um cenário desconectado podemos usar as seguintes abordagens:

As classes POCO -  POCO-Plain Old CLR Object - são classes simples de domínio que possuem apenas get/sets e um construtor e que não dependem de nenhum framework; as classes POCO não são obrigadas a herdar de nenhuma outra classe ou implementar nenhuma interface. Portanto as classes POCO são independente de frameworks.


Preparando o ambiente

Vamos usar a solução criada na aula 11 - Entity Framework - Consultas Projeção -  para mostrar como incluir uma nova entidade no cenário desconectado.

Abra esta solução e aproveite o projeto EF6_CRUDDesconectado que já criamos nesta solução.

Incluindo uma nova entidade simples

Neste exemplo usamos o método Add() para incluir um novo objeto Aluno no DbSet Alunos.

Para persistir os dados no banco de dados usamos o método SaveChanges().

        static void AdicionandoUmaNovaEntidadeSimples()
        {
            // cria uma nova entidade Aluno no cenário desconectado (fora do escopo de DbContext)
            var novoAluno = new Aluno();
            //define o nome do Aluno
            novoAluno.AlunoNome = "Macoratti - novo";
            //cria o objeto DbContext
            using (var dbCtx = new EscolaDBEntities())
            {
                //Adiciona o objeto Aluno no DBset Alunos
                dbCtx.Alunos.Add(novoAluno);
                // Chama o método SaveChanges para salvar o aluno no banco de dados
                dbCtx.SaveChanges();
            }
        }

Veja que primeiro criamos um novo objeto da entidade Aluno e definimos sua propriedade AlunoNome e a seguir criamos um objeto DBContext e adicionamos o novo objeto no EntitySet Alunos.

Podemos também alternativamente adicionar uma entidade no DbEntityEntry usando o método Entry e definir o seu EntityState como Added:

        static void AdicionandoUmaNovaEntidadeSimples2()
        {
            // cria uma nova entidade Aluno no cenário desconectado (fora do escopo de DbContext)
            var novoAluno = new Aluno();
            //define o nome do Aluno
            novoAluno.AlunoNome = "Macoratti - novo";
            //cria o objeto DbContext
            using (var dbCtx = new EscolaDBEntities())
            {
                //Adiciona a entidade novoAluno no DbEntityEntry e marca o seu EntityState como Added
                dbCtx.Entry(novoAluno).State = System.Data.Entity.EntityState.Added;
                // Chama o método SaveChanges para salvar o aluno no banco de dados
                dbCtx.SaveChanges();
            }
        }

Na próxima aula veremos como atualizar uma entidade simples em um cenário desconectado no Entity Framework.

Porque muitos há, dos quais muitas vezes vos disse, e agora também digo, chorando, que são inimigos da cruz de Cristo,
Cujo fim é a perdição; cujo Deus é o ventre, e cuja glória é para confusão deles, que só pensam nas coisas terrenas.

Filipenses 3:18,19
 

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

 

             Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter
 

Referências:


José Carlos Macoratti