ASP .NET MVC Scaffolding (CodePlex) com Nuget

Nesse post irei apresentar a parte de uma série sobre o pacote NuGet do MvcScaffolding.

O que é o MvcScaffolding?

Não é nenhum tipo de padrão de projeto, na verdade é um projeto CRUD pronto com suas funcionalidades já implementadas, estando disponível no codeplex.
O exemplo que iremos apresentar é um projeto bem simples, a implementação será de uma classe onde chamaremos de Cliente e é através dela que iremos fazer a parte do CRUD utilizando o package do Nuget pelo VS2012. A versão é beta então algumas das funcionalidades podem ainda ter problemas, no final desse post irei deixar a referência da implementação e o blog do criador desse pacote, mas isso não deixa de ser um bom exemplo para podermos praticar.

Passo-a-Passo:
1- Iremos criar um novo projeto ASP .NET MVC 3 ou 4 Web Application;

CreateProject_mvc_scaffolding
2- Selecionar o template do projeto como Empty ou InternetApplication com a ViewEngine do Razor;

Select_Template_Project3- Install o MvcScaffolding package.

Install_package

4- Criaremos nossa classe para podermos aplicar o Scaffold;

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

namespace MvcScaffoldingSample.Models
{
    public class Cliente
    {
        public int Id { get; set; }

        public string Nome { get; set; }

        public int Idade { get; set; }
    }
}

5- Próximo passo é criar o Scaffold Controller da Classe Cliente

Scafoold_Controller_Cliente6- Rodamos o projeto 
Na url colocamos http://locahost:../clientes, pronto podemos já adicionar, editar, excluir e ver os detalhes de nossa implementação;

create delete details list
7- Caso você não tenha o SQL Server instalado
Execute o comando no package source novamente com o comando

PM> Install-Package EFCodeFirst.SqlServerCompact

8- Podemos também forçar a criação do repositório da entidade “Cliente”

Force_Repository

public interface IClienteRepository : IDisposable
{
    IQueryable<Cliente> All { get; }
    IQueryable<Cliente> AllIncluding(params Expression<Func<Cliente, object>>[] includeProperties);
    Cliente Find(int id);
    void InsertOrUpdate(Cliente cliente);
    void Delete(int id);
    void Save();
}

Bom pessoal é isso, como podemos observar praticamente não fizemos quase nenhuma codificação e com a ajuda do Package Scaffold temos uma noção básica de como podemos dar criação aos nossos projetos web. Se quiserem podem acessar o link que está de referência logo abaixo, nesse link tem mais detalhes sobre o assunto.

Referências:

Abraços, até mais.