Entity Framework - Scaffolding

Nesta aula além de tirar a dúvida de um aluno, explico como utilizar uma técnica que irá gerar códigos para você a partir de seu modelo.

assinaturaAssine nossa Comunidade

Asp Net MVC - Entity Framework -Scaffolding

Entity Framework -Scaffolding é uma técnica que automatização de código a partir de um modelo.

Criamos modelos com as propriedades e context. Uma ferramenta no próprio Visual Studio irá gerar todo o código necessário do CRUD.

Através do modelo, o scaffolding pode gerar o controller com todas as ações necessárias para salvar, alterar, excluir os dados e fazer toda a interação que seu modelo precisa no banco de dados. As views e as rotas também serão geradas.

Vamos criar um projeto Web MVC para mostrar a técnica do scaffolding.

  • Clicar com o botão direito no nome da solução do projeto;
  • Menu Adicionar->Novo Projeto;
  • Selecionar Web;
  • Aplicativo Web Asp.net (.net Framework);
  • Nomear o projeto para MVC;
  • Selecionar MVC.

Vamos adicionar uma nova classe na pasta Models:

  • Clicar com o botão direito na pasta Models;
  • Menu Adicionar->Nova Classe;
  • Nomear a classe para Ciiente
      
        namespace MVC.Models
        {
          public class Cliente 
          {
            public int Id { get;set };
            public string Nome { get;set };
            public string Telefone { get;set };
            public string CPF { get;set };
          }
        }
       
    

Vamos adicionar uma nova classe na pasta Models Chamada MVC Context.cs:

  • Clicar com o botão direito na pasta Models;
  • Menu Adicionar->Nova Classe;
  • Nomear a classe para MVCContext.cs
      
        namespace MVC.Models
        {
          public class MVCContext : DbContext 
          {
            public DbSet< Cliente> clientes {get;set;}
           
          }
        }
       
    

Precisamos instalar o Entity Framework nesta nova Solution:

  • Menu Ferramentas -> Console do Gerencidor de Pacotes;
  • No console, digitar Install-Package EntityFramework;
  • Selecionar EntityFramework na lista;
  • Selecionar o projeto MVC.

No arquivo MVCContext, adicionamos a referência do Entity Framework:

      
        using System.Data.Entity;
       
    

Vamos compilar a aplicação para preparar a aplicação. Neste momento ainda não será criada a tabela que precisamos, o entity framework passa a criar quando formos utilizar verificando se existe na base de dados. Caso não exista, ele faz o append, criando na base de dados.

Após a compilação, iremos clicar com o botão direito na solução:

  • Menu Adicionar;
  • Novo item scaffolding;
  • Controlador MVC5 com modos de exibiçao usando o Entity Framework;
  • Selecione o modelo Cliente;
  • Selecione o contexto MVCContext;
  • Nome do controlador: ClientesController

Após clicar em adicionar, o Entity Framework irá gerar o arquivo ClientesController e todos os arquivos necessários para criação, alteração e exclusão de clientes através das configurações que foram feitas nas classes Cliente e DbContext, conforme arquivo abaixo:


    
      
      using System.Net;
      using System.Web;
      using System.Web.Mvc;
      using MVC.Models;

      namespace MVC
      {
        public class ClienteController: Controller
        {
          private MVCContext db = new MVCContext();

          public ActionResult Index()
          {
            return View (db.Clientes.ToList());
          }

          public ActionResult Details(int? id)
          {
            if (id == null)
            {
              return new HttpStatusCodeResult(HttpSatusCOde.BadRequest);
            }
            Cliente cliente = db.Clientes.Find(id);

            if (cliente == null)
            {
              return HttpNotFound();
            }
            return View(cliente);
          }

          public ActionResult Create()
          {
            return View();
          }

          public ActionResult Edit(int? id)
          {
            if (id == null)
            {
              return new HttpStatusCodeResult(HttpSatusCOde.BadRequest);
            }
            Cliente cliente = db.Clientes.Find(id);

            if (cliente == null)
            {
              return  HttpNotFound();
            }
            return View(cliente);
          }

          public ActionResult Delete(int? id)
          {
            if (id == null)
            {
              return new HttpStatusCodeResult(HttpSatusCOde.BadRequest);
            }
            Cliente cliente = db.Clientes.Find(id);

            if (cliente == null)
            {
              return  HttpNotFound();
            }
            return View(cliente);
          }


        }
      }
    
    
  

Entity Framework - Scaffolding

Nesta aula além de tirar a dúvida de um aluno, explico como utilizar uma técnica que irá gerar códigos para você a partir de seu modelo.

Próximas Aulas:
assinaturaAssine nossa Comunidade

Asp Net MVC - Entity Framework -Scaffolding

Entity Framework -Scaffolding é uma técnica que automatização de código a partir de um modelo.

Criamos modelos com as propriedades e context. Uma ferramenta no próprio Visual Studio irá gerar todo o código necessário do CRUD.

Através do modelo, o scaffolding pode gerar o controller com todas as ações necessárias para salvar, alterar, excluir os dados e fazer toda a interação que seu modelo precisa no banco de dados. As views e as rotas também serão geradas.

Vamos criar um projeto Web MVC para mostrar a técnica do scaffolding.

  • Clicar com o botão direito no nome da solução do projeto;
  • Menu Adicionar->Novo Projeto;
  • Selecionar Web;
  • Aplicativo Web Asp.net (.net Framework);
  • Nomear o projeto para MVC;
  • Selecionar MVC.

Vamos adicionar uma nova classe na pasta Models:

  • Clicar com o botão direito na pasta Models;
  • Menu Adicionar->Nova Classe;
  • Nomear a classe para Ciiente
      
        namespace MVC.Models
        {
          public class Cliente 
          {
            public int Id { get;set };
            public string Nome { get;set };
            public string Telefone { get;set };
            public string CPF { get;set };
          }
        }
       
    

Vamos adicionar uma nova classe na pasta Models Chamada MVC Context.cs:

  • Clicar com o botão direito na pasta Models;
  • Menu Adicionar->Nova Classe;
  • Nomear a classe para MVCContext.cs
      
        namespace MVC.Models
        {
          public class MVCContext : DbContext 
          {
            public DbSet< Cliente> clientes {get;set;}
           
          }
        }
       
    

Precisamos instalar o Entity Framework nesta nova Solution:

  • Menu Ferramentas -> Console do Gerencidor de Pacotes;
  • No console, digitar Install-Package EntityFramework;
  • Selecionar EntityFramework na lista;
  • Selecionar o projeto MVC.

No arquivo MVCContext, adicionamos a referência do Entity Framework:

      
        using System.Data.Entity;
       
    

Vamos compilar a aplicação para preparar a aplicação. Neste momento ainda não será criada a tabela que precisamos, o entity framework passa a criar quando formos utilizar verificando se existe na base de dados. Caso não exista, ele faz o append, criando na base de dados.

Após a compilação, iremos clicar com o botão direito na solução:

  • Menu Adicionar;
  • Novo item scaffolding;
  • Controlador MVC5 com modos de exibiçao usando o Entity Framework;
  • Selecione o modelo Cliente;
  • Selecione o contexto MVCContext;
  • Nome do controlador: ClientesController

Após clicar em adicionar, o Entity Framework irá gerar o arquivo ClientesController e todos os arquivos necessários para criação, alteração e exclusão de clientes através das configurações que foram feitas nas classes Cliente e DbContext, conforme arquivo abaixo:


    
      
      using System.Net;
      using System.Web;
      using System.Web.Mvc;
      using MVC.Models;

      namespace MVC
      {
        public class ClienteController: Controller
        {
          private MVCContext db = new MVCContext();

          public ActionResult Index()
          {
            return View (db.Clientes.ToList());
          }

          public ActionResult Details(int? id)
          {
            if (id == null)
            {
              return new HttpStatusCodeResult(HttpSatusCOde.BadRequest);
            }
            Cliente cliente = db.Clientes.Find(id);

            if (cliente == null)
            {
              return HttpNotFound();
            }
            return View(cliente);
          }

          public ActionResult Create()
          {
            return View();
          }

          public ActionResult Edit(int? id)
          {
            if (id == null)
            {
              return new HttpStatusCodeResult(HttpSatusCOde.BadRequest);
            }
            Cliente cliente = db.Clientes.Find(id);

            if (cliente == null)
            {
              return  HttpNotFound();
            }
            return View(cliente);
          }

          public ActionResult Delete(int? id)
          {
            if (id == null)
            {
              return new HttpStatusCodeResult(HttpSatusCOde.BadRequest);
            }
            Cliente cliente = db.Clientes.Find(id);

            if (cliente == null)
            {
              return  HttpNotFound();
            }
            return View(cliente);
          }


        }
      }