Operações CRUD com Entity Framework

No post “ADO.NET Entity Framework – Introdução + Exemplo prático” comentamos um pouco sobre a teoria do Entity Framework, demonstramos como criar o modelo conceitual (Entity Data Model – EDMX) e também como utilizá-lo através do Entity Data Source em aplicações sem escrita de código fonte, ou seja, montadas a partir dos assistentes do próprio Visual Studio.

Neste post demonstro como utilizar o Entity Framework, via codificação, para realizar operações CRUD em um exemplo didático que utiliza o Banco de Dados Northwind e as tabelas Region e Territories, já devidamente mapeadas (objeto relacional) no exemplo citado no parágrafo anterior (Acesse o post anterior antes de continuar neste).

Exemplos de métodos

1) Inclusão/Alteração


protected void btnGravar_Click(object sender, EventArgs e)
{
   //Criando o contexto de acordo com o Entity Data Model
   using (NorthwindEntities contexto = new NorthwindEntities())
   {
      try
      {
         Territories t;
         if (btnGravar.Text == "Gravar") //Se for um novo registro
            t = new Territories(); //Criamos um novo território
         else
            t = (from t1 in contexto.Territories where t1.TerritoryID == txtIdentificacao.Text select t1).First(); //Se não, recuperamos o território que será alterado

         //Adicionando ou alterando as informações do território
         t.RegionID = Convert.ToInt32(ddlRegiao.SelectedValue);
         t.TerritoryID = txtIdentificacao.Text.Trim();
         t.TerritoryDescription = txtDescricao.Text.Trim();

         if (btnGravar.Text == "Gravar") //Se for um novo registro, adicionamos ao contexto, senão apenas gravamos as alterações
            contexto.Territories.AddObject(t);

         //Nessário para confirmar as ações junto ao contexto
         contexto.SaveChanges();

         Mensagem("Operação realizada com sucesso.");
      }
      catch (Exception ex)
      {
         Mensagem("Erro: " + ex.Message);
      }
   }
}


2) Localização de Registros


protected void btnLocalizar_Click(object sender, EventArgs e)
{
   //Criando o contexto de acordo com o Entity Data Model
   using (NorthwindEntities contexto = new NorthwindEntities())
   {
      try
      {
         //Recuperando um determinado registro/objeto
         Territories t = (from t1 in contexto.Territories where t1.TerritoryID == txtIdentificacao.Text select t1).First();

         //Populando elementos de tela com os dados recuperados
         ddlRegiao.SelectedValue = t.RegionID.ToString();
         txtIdentificacao.Text = t.TerritoryID;
         txtDescricao.Text = t.TerritoryDescription;

         txtIdentificacao.ReadOnly = true;
         btnGravar.Text = "Alterar";
         btnExcluir.Enabled = true;
      }
      catch (Exception ex)
      {
         Mensagem("Erro: " + ex.Message);
      }
   }
}

3) Exclusão


protected void btnExcluir_Click(object sender, EventArgs e)
{
   //Criando o contexto de acordo com o Entity Data Model
   using (NorthwindEntities contexto = new NorthwindEntities())
   {
   try
      {
         //Recuperando um determinado registro/objeto
         Territories t = (from t1 in contexto.Territories where t1.TerritoryID == txtIdentificacao.Text select t1).First();

         //Excluindo o registro/objeto e salvando as alterações no contexto/BD
         contexto.Territories.DeleteObject(t);
         contexto.SaveChanges();

         Mensagem("Registro excluído.");
      }
      catch (Exception ex)
      {
         Mensagem("Erro: " + ex.Message);
      }
      finally
      {
         FormularioInicial();
      }
   }
}


Caso queira, clique aqui para fazer o download completo deste exemplo

Grande abraço,
Eduardo Henrique Rizo

[twitter-follow screen_name='eduardorizo' show_count='yes']

Marcado com: , , , , , , ,
4 comentários sobre “Operações CRUD com Entity Framework
  1. leosaomz disse:

    Sensacional…poucas linhas de código e simples…vlw

  2. Márcio disse:

    não gosto disso. Me faz perceber que programação é tão fácil quanto medicina… hahahahaha

4 Pings/Trackbacks para "Operações CRUD com Entity Framework"
  1. […] Caso queira saber um pouco mais sobre o assunto, leia o post sobre operações CRUD com Entity Framework. […]

  2. […] Posts relacionados: 1. ADO.NET Entity Framework – Introdução + Exemplo prático 2. Operações CRUD com Entity Framework […]

  3. […] LINQ e Entity Framework 2. Operações CRUD com Entity Framework 3. ADO.NET Entity Framework – Introdução + Exemplo […]

  4. […] LINQ, Entity Framework e Tipos Anônimos 2. LINQ e Entity Framework 3. Operações CRUD com Entity Framework 4. ADO.NET Entity Framework – Introdução + Exemplo […]

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

*