Arquivo de agosto, 2015

CRUD acrónimo de Create, Read, Update e Delete, utiliza as quatro operações básicas  para criação, consulta, atualização e exclusão de dados. Outros acrónimos podem ser usados para definir as mesmas operações:

  •  ABCD: Add, Browse, Change e Delete
  • BREAD: Browse, Read, Edit, Add e Delete
  • VADE(R): View, Add, Delete, Edit (e Restore, para sistemas com processos transacionais)
  • VEIA: Visualizar, Excluir, Inserir, Alterar

A abreviação CRUD também pode ser mapeada para o padrão ISO/SQL:

  • Create INSERT
  • Read (Retrieve) SELECT
  • Update UPDATE
  • Delete (Destroy) DELETE

As operações CRUD também são relevantes em interfaces para utilizadores de vários níveis. Por exemplo, num programa de Catálogo de Endereços, uma entrada de um contato individual pode ser considerada a unidade básica de persistência. As operações mínimas para este tipo de programa são:

  • Create Criar ou adicionar novas entradas
  • Read (Retrieve) Ler, recuperar ou ver entradas existentes
  • Update Atualizar ou editar entradas existentes
  • Delete (Destroy) Remover entradas existentes

As operações CRUD são facilmente programadas em aplicações que utilizam o padrão MVC, pois estes possuem o recurso de Scaffold que como já vimos em posts anteriores, criam todo o código necessário para estas operações.

Scaffolding é uma técnica apoiada por alguns frameworks MVC, nos quais o programador pode especificar a forma como o banco de dados de aplicativo pode ser usado. O compilador ou estrutura usa essa especificação, em conjunto com modelos de código pré-definido, para gerar o código final que o aplicativo podem usar para criar, ler, atualizar e excluir entradas de banco de dados, tratar eficazmente os modelos como um “Scaffolding” sobre o qual construir uma aplicação mais poderosa.

Criando CRUD em uma aplicação ASP NET MVC – Razor

1 – Crie uma aplicação web padrão MVC ou utilize o exemplo anterior que já possui todas as classes e modelos para realizarmos as operações CRUD. Na pagina de layout de sua aplicação insira um novo link para o controlador de cadastros:

MVC - _Layout.cshtml

MVC – _Layout.cshtml

2 – Crie um novo controlador chamado cadastro, nome no qual você utilizou no link do passo anterior. Escolha o tipo de Scaffold como Controller with Views using entity framework:

MVC - Controlador

MVC – Controlador

3 – Nas configurações do controlador, escolha seu modelo de dados, sua classe de contexto de dados e o nome do seu controlador:

MVC - Dados do Controlador

MVC – Dados do Controlador

4 – Pronto! Todo código será gerado automaticamente criando todas as funções CRUD que você precisa para alimentar os dados nesta tabela. Você tem uma aplicação com um cadastro totalmente funcional. Como já tínhamos dados na tabela devido ao exemplo anterior, recebemos a função READ como na figura abaixo:

MVC - READ

MVC – READ

5 – Clique em Create New para criar um novo registro em sua aplicação:

MVC - CREATE

MVC – CREATE

6 – Você pode editar os dados criados clicando em Edit no registro desejado:

MVC - UPDATE

MVC – UPDATE

7 – Você pode excluir o registro desejado usando a opção Delete:

MVC - DELETE

MVC – DELETE

Exemplo:

Neste exemplo usamos um contexto de dados e um modelo para criar as ações básicas de uma aplicação que utiliza banco de dados e nos permite criar, ler, alterar e excluir registros de uma tabela.

  • Todo o código gerado automaticamente pelo Scaffold não será exibido abaixo.

C#

Modelos:

Db Context

using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;

namespace WebApplication1.Models
{
    public class MinhaAppMeuDB : DbContext
    {
        // Define string de conexão  de sua aplicação
        public MinhaAppMeuDB() : base("name=DefaultConnection")
        { }

       public DbSet<CursosModelo> Cursos { get; set; }
       public DbSet<GradeModelo>  Grades { get; set; }

    }
}

Modelo

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace WebApplication1.Models
{
    public class CursosModelo
    {
        // Propriedades
        public int Id { get; set; }
        public string Curso { get; set; }
        public string Linguagem { get; set; }
        public string Descr { get; set; }

        // Aponta para o Grade
        public ICollection<GradeModelo> Cursos { get; set; }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace WebApplication1.Models
{
    public class GradeModelo
    {
        // Propriedades
        public int Id { get; set; }
        public string Dia { get; set; }
        public string hora { get; set; }

        // Cria relacionamento
        public int IdCursoModelo { get; set; }
    }
}
Anúncios