ASP.NET Core MVC Aplicações modernas em conjunto com o Entity Framework
Everton Coimbra de AraújoIntrodução
Como sempre digo na abertura de todos os meus livros, ensinar e aprender são tarefas que andam juntas. Para que seja alcançado o objetivo em cada uma delas, é necessário muita dedicação e estudo constante. Não há mágica no aprendizado, mas há muita determinação por parte daquele que quer aprender.
Este livro apresenta o ASP.NET Core MVC, um framework da Microsoft para o desenvolvimento de aplicações web. Durante os capítulos, é feito uso do IDE da Microsoft e o Visual Studio 2017 Community Edition, em sua versão 15.8.4. A linguagem adotada para os exemplos é a C#. Conceitos de técnicas, tanto do framework, da ferramenta e como da linguagem, são introduzidos sempre que utilizados.
O livro traz implementações que poderão auxiliar no desenvolvimento de suas aplicações e apresenta um pouco de JavaScript e jQuery, bem como introduz o Bootstrap. Também faz uso do Entity Framework Core como ferramenta para persistência de dados.
Certamente, este livro pode ser usado como ferramenta em disciplinas que trabalham o desenvolvimento para web, quer seja por acadêmicos ou professores. Isso porque ele é o resultado da experiência que tenho em ministrar aulas dessa disciplina, então, trago para cá anseios e dúvidas dos alunos que estudam comigo.
O objetivo deste trabalho é tornar o livro uma ferramenta para o ensino e o aprendizado no desenvolvimento de aplicações para web. Vamos usar C# de uma forma mais precisa e direcionada às disciplinas ministradas em cursos que envolvem informática e computação, como Sistemas de Informação, Ciência da Computação, Processamento de Dados, e Análise e Desenvolvimento de Sistemas.
O público-alvo para este livro é vasto. Ele serve para alunos de graduação que tenham disciplinas afins em seus cursos, como também para desenvolvedores que estão começando em ASP.NET Core MVC, ou até mesmo para os experientes, que buscam por novas informações. Não faz parte do objetivo do livro ensinar de maneira profunda e específica a linguagem C#, Entity Framework Core, HTML, JavaScript ou Orientação a Objetos. São todas ferramentas utilizadas neste livro e são contextualizados seus objetivos e instruções utilizadas.
O livro é desenvolvido em dez capítulos, todos com muita prática e com uma conclusão dos tópicos vistos. Na sequência, são apresentados pequenos resumos do que é trabalhado em cada um.
Capítulo 1 – A primeira aplicação ASP.NET Core MVC
Este primeiro capítulo traz uma introdução a alguns conceitos relacionados ao ASP.NET Core MVC e ao desenvolvimento de aplicações web. Nele, também já ocorre a implementação da primeira aplicação. Esta realiza as operações básicas em um conjunto de dados, conhecidas como CRUD (Create, Read, Update e Delete). Inicialmente, essas operações são realizadas em uma Collection, pois este capítulo dedica-se à introdução ao framework, e prepara o leitor para o segundo capítulo, que introduz o acesso a uma base de dados.
Capítulo 2 – Acesso a dados com o Entity Framework Core
Com o conhecimento que se espera do leitor após a leitura do capítulo anterior – no qual são apresentadas técnicas específicas do ASP.NET MVC Core para a criação de um CRUD –, aplicaremos essas técnicas para a manutenção desse CRUD em uma base de dados. Estas implementações são realizadas no SQL Server, por meio do Entity Framework Core, que também é introduzido neste capítulo e usado nos demais.
Capítulo 3 – Layouts, Bootstrap e jQuery DataTable
Em uma aplicação web, o uso de layouts comuns para um número significativo de páginas é normal. Um portal (visto como um sistema, uma aplicação) normalmente é divido em setores, e cada um pode ter seu padrão de layout. O ASP.NET Core MVC possui recursos para esta característica. Este capítulo apresenta também o Bootstrap, um componente que possui recursos para facilitar o desenvolvimento de páginas web, por meio de CSS. O capítulo termina com a apresentação de um controle JavaScript, o jQuery DataTables, em que um conjunto de dados é renderizado em uma tabela com recursos para busca e classificação.
Capítulo 4 – Associações no Entity Framework Core
As classes identificadas no modelo de negócio de uma aplicação não são isoladas umas das outras. Muitas vezes, elas associam-se entre si, o que permite a comunicação no sistema. Saber que uma classe se associa a outra quer dizer também que elas podem depender uma da outra. Em um processo, como uma venda, por exemplo, existe a necessidade de saber quem são o cliente e o vendedor, bem como quais são os produtos adquiridos. Este capítulo trabalha a associação entre duas classes, o que dará subsídios para aplicar esse conhecimento em outras aplicações. Também são trazidos controles que permitem a escolha de objetos para gerar a associação.
Capítulo 5 – Separação da camada de negócios
O ASP.NET Core MVC traz em seu nome o padrão de projeto MVC (Model-View-Controller, ou Modelo-Visão-Controlador). Embora os recursos (classes, visões, dentre outros) possam ser armazenados em pastas criadas automaticamente em um novo projeto, a aplicação criada, por si só, não está dividida em camadas. Isso acontece, pois ela não está em módulos que propiciem uma independência do modelo. Este capítulo apresenta os conceitos de coesão e acoplamento, assim como implementa uma estrutura básica que pode ser replicada em seus projetos.
Capítulo 6 – Code First Migrations, Data Annotations e validações
Durante o processo de desenvolvimento de uma aplicação que envolve a persistência em base de dados, qualquer mudança em uma classe do modelo deve ser refletida nessa base. Quando utilizamos o Entity Framework Core, essas mudanças são identificadas e, dependendo da estratégia de inicialização adotada, pode ocorrer que sua base seja removida e criada novamente, do zero, sem os dados de testes que, porventura, existam. O Entity Framework Core oferece o Code First Migration, que possibilita o versionamento da estrutura de uma base de dados mapeada por meio de um modelo de classes. Este capítulo apresenta o Code First Migration, que possibilita a atualização dessa base, sem a perda dos dados registrados nela. Também são apresentados os Data Annotations, para definirmos características de propriedades, e algumas regras de validação.
Capítulo 7 – Areas, autenticação e autorização
Quando desenvolvemos uma aplicação com muitas classes, controladores e visões, torna-se difícil administrar a organização pela forma trivial oferecida pelo ASP.NET Core MVC, pois todos os controladores ficam em uma única pasta, assim como os modelos e as visões. Para minimizar este problema, o framework oferece Areas. Elas podem ser vistas como submodelos, onde ficam seus controladores, modelos e visões de maneira mais organizada. O conceito Modelo para Visões também é apresentado. O capítulo dedica-se ainda ao processo de autenticação e autorização de usuários – um requisito necessário para o controle de acesso para qualquer aplicação.
Capítulo 8 – Uploads, downloads e erros
Com o surgimento da computação em nuvem, ficaram cada vez mais constantes os portais ou sistemas web possibilitarem uploads e oferecerem downloads. Este capítulo apresenta como é possível: enviar arquivos para uma aplicação, obter arquivos de imagens (para serem renderizadas) e possibilitar o download de arquivos hospedados no servidor. O capítulo termina com uma técnica para tratamento de erros que podem ocorrer na aplicação.
Capítulo 9 – DropDownList com chamadas AJAX e uso de sessões
O uso de controles do tipo DropDownList pode ser uma atividade necessária em sua aplicação, assim como o uso de mais de um desses controles. Além disso, um determinado controle pode ter suas opções dependentes de uma seleção em outro. Este capítulo traz o uso desses controles de maneira encadeada, ou seja, um dependendo do dado que está selecionado em outro. Outro tema abordado neste capítulo é o uso de sessão para armazenamento de dados. Esta prática é comum em aplicações comerciais que precisam persistir dados pequenos para uma rápida recuperação na aplicação.
Capítulo 10 – Os estudos não param por aqui
Com este capítulo, concluímos este livro destacando todos os assuntos que vimos até aqui, junto com estímulos para você continuar a sua jornada de aprendizagem e aplicação do C#. Ao terminar sua leitura, se surgir algum tema que você julgue interessante de ser trabalhado em uma nova revisão deste livro, por favor, nos encaminhe para apreciação. Tenha a convicção de que sua sugestão será muito bem recebida.
Prefácio
Quando fui convidado para prefaciar este livro, senti um misto de apreensão e glória, afinal, não é sempre que se recebe a missão direta de um Mestre Jedi, exímio conhecedor das artes do desenvolvimento web. O professor Everton Coimbra de Araújo é autor de vários livros na área de Ciência da Computação. Quando discente utilizei alguns para minha formação. Hoje, como docente, os utilizo na formação de meus alunos.
A presente obra, composta por dez capítulos, apresenta exemplos práticos por meio de trechos de códigos simples de serem replicados, permeando desde o acesso a dados e front-end, até a elaboração de operações complexas que o framework oferece no contexto de aplicações web.
Assim como os outros livros escritos pelo autor, esta versão atualizada apresenta de forma sucinta e didaticamente acessível a teoria por trás do framework, aliada a implementações práticas, podendo ser utilizado tanto por discentes quanto docentes, uma vez que foi escrito com a experiência prática do autor em sala de aula, servindo como um verdadeiro walkthrough, elaborado de maneira de organizada e lógica.
Então, para você que vai iniciar seus estudos no framework ou atualizar seus materiais de aula, fica um pensamento provido pelo Grão-Mestre da Ordem Jedi (Yoda), que se aplica a qualquer momento quando se começa algo novo: “Em um lugar escuro nos encontramos e um pouco mais de conhecimento ilumina nosso caminho”. E, é isso que este livro apresenta, conhecimento não apenas superficial, mas profundo, para iluminar o caminho de quem decidiu por seguir o caminho do desenvolvimento web.
Boa leitura!
Prof. Dr. Davi Marcondes Rocha - Universidade Tecnológica Federal do Paraná – Câmpus Santa Helena
Sumário
- 1 A primeira aplicação ASP.NET Core MVC
- 1.1 Criação do projeto no Visual Studio 2019 Community
- 1.2 Criando o controlador para Instituições de Ensino
- 1.3 Criação da classe de domínio para Instituições de Ensino
- 1.4 Implementação da interação da action Index com a visão
- 1.5 O conceito de rotas do ASP.NET Core MVC
- 1.6 Implementação da inserção de dados no controlador
- 1.7 Implementação da alteração de dados no controlador
- 1.8 Implementação da visualização de um único registro
- 1.9 Finalização da aplicação: a operação Delete
- 1.10 Conclusão sobre as atividades realizadas no capítulo
- 2 Acesso a dados com o Entity Framework Core
- 2.1 Começando com o Entity Framework Core
- 2.2 Verificando a base de dados criada no Visual Studio
- 2.3 Implementação do CRUD fazendo uso do Entity Framework Core
- 2.4 Conclusão sobre as atividades realizadas no capítulo
- 3 Layouts, Bootstrap e jQuery DataTable
- 3.1 O Bootstrap
- 3.2 Layouts com o Bootstrap
- 3.3 Primeira página com o layout criado
- 3.4 Adaptando as visões para o uso do Bootstrap
- 3.5 Configuração do menu para acessar as visões criadas
- 3.6 Conclusão sobre as atividades realizadas no capítulo
- 4 Associações no Entity Framework Core
- 4.1 Associando as classes já criadas
- 4.2 Adaptação para uso das associações
- 4.3 A visão Create para a classe Departamento
- 4.4 A visão Edit para a classe Departamento
- 4.5 A visão Details para a classe Departamento
- 4.6 Criando a visão Delete para a classe Departamento
- 4.7 Inserção de Departamentos na visão Details de Instituições
- 4.8 Conclusão sobre as atividades realizadas no capítulo
- 5 Separação da camada de negócio
- 5.1 Contextualização sobre as camadas
- 5.2 Criando a camada de negócio: o modelo
- 5.3 Criando a camada de persistência em uma pasta da aplicação
- 5.4 Adaptação da camada de aplicação
- 5.5 O DAL para Departamento
- 5.6 Adaptando as visões para minimizar redundâncias
- 5.7 Conclusão sobre as atividades realizadas no capítulo
- 6 Code First Migrations, Data Annotations e validações
- 6.1 O uso do Code First Migrations
- 6.2 Atualização do modelo de negócio
- 6.3 O uso de validações
- 6.4 Conclusão sobre as atividades realizadas no capítulo
- 7 Areas, autenticação e autorização
- 7.1 Areas
- 7.2 Segurança em aplicações ASP.NET MVC
- 7.3 Criação de um acesso autenticado
- 7.4 Registro de um novo usuário
- 7.5 Usuário autenticado e o seu logout
- 7.6 Conclusão sobre as atividades realizadas no capítulo
- 8 Uploads, downloads e erros
- 8.1 Uploads
- 8.2 Apresentação da imagem na visão Details
- 8.3 Permitindo o download da imagem enviada
- 8.4 Páginas de erro
- 8.5 Conclusão sobre as atividades realizadas no capítulo
- 9 DropDownList com chamadas AJAX e uso de sessões
- 9.1 Criação e adaptação de classes para o registro de professores
- 9.2 O controlador para professores
- 9.3 A visão para o registro de professores
- 9.4 Actions invocadas via AJAX/jQuery para atualização dos DropDownLists
- 9.5 Armazenando valores na sessão
- 9.6 Conclusão sobre as atividades realizadas no capítulo
- 10 Os estudos não param por aqui
Dados do produto
- Número de páginas:
- 260
- ISBN:
- 978-65-86110-33-3
- Data publicação:
- 02/2018. Atualizado em 07/2020.