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.
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.
Vamos adicionar uma nova classe na pasta Models:
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:
namespace MVC.Models
{
public class MVCContext : DbContext
{
public DbSet< Cliente> clientes {get;set;}
}
}
Precisamos instalar o Entity Framework nesta nova Solution:
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:
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);
}
}
}
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.
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.
Vamos adicionar uma nova classe na pasta Models:
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:
namespace MVC.Models
{
public class MVCContext : DbContext
{
public DbSet< Cliente> clientes {get;set;}
}
}
Precisamos instalar o Entity Framework nesta nova Solution:
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:
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);
}
}
}