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:
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:
3 – Nas configurações do controlador, escolha seu modelo de dados, sua classe de contexto de dados e o nome do seu 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:
5 – Clique em Create New para criar um novo registro em sua aplicação:
6 – Você pode editar os dados criados clicando em Edit no registro desejado:
7 – Você pode excluir o registro desejado usando a opção 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; } } }
E possivel colocar o codigo para download?
Olá Rodrigo,
Os códigos para este exemplo são gerados automaticamente pelo Template da aplicação MVC, Razor no Visual Studio, você pode usar os exemplos anteriores para saber como criar a conexão com o MSSQL e outros detalhes para que a aplicação funcione.
Infelizmente não temos como postar os códigos dos exemplos.
Abraços.