Projeto Hands-on de auxílio para elaboração do projeto integrador baseado em EF e .NET Core 2
Irá ser criado um projeto console, que usará a técnica de Code First para mapear as classes criadas gerando tabelas e colunas no banco de dados. Dessa forma, permitindo a manipulaçao das informações por meio de orientacao a objetos, com geração automática de comandos SQL. Posteriormente, será utilizado de dentro de uma Web API.
Pesquise sobre os conceitos envolvidos neste hands-on.
- O que é Mapeamento objeto-relacional (ORM)
- O que sao Migrations (Migrações)
- Diferencie Code-First vs DB-First. Vantangens e desvantagens. Quando usar cada um deles.
- .Net Core 2.2
- Visual Studio Code
- Plugins:
- C# for Visual Sudio Code (powered by OminiSharp)
- C# IDE Extensions (jchannon)
- MS SQL Server ou MySQL
- Cliente de acesso ao BD de sua escolha
Na pasta do projeto, digite:
- dotnet restore
- dotnet build
- dotnet run
- Criar um novo projeto console: Na pasta do projeto, digite:
- dotnet new console
Digite:
- code . (Para abrir o projeto no Visual Studio Code)
- No terminal, digitar:
- dotnet add package Microsoft.EntityFrameworkCore.SqlServer
- dotnet add package Microsoft.EntityFrameworkCore.Tools
Será adicionado o driver do banco MSSQL Server e a lib de geração de entidades do .net core, respectivamente.
- No terminal, digitar:
- dotnet restore - (opcional) util para baixar dependências (libs)
- dotnet build - (opcional) Verifica se há um erro de código e
- dotnet run - para rodar o projeto
Nesse etapa, utilizando Code First fazemos a geração das tabelas e colunas por meio do ORM. Será indroduzido o conceito do ORM, Migrations utilizando o framework EF Core. Seguir a sequência de passos:
-
Para as demais etapas, considere o código contido nesse repositório:
- 4.1. Crie uma pasta Modelos e implemente as classes Turma.cs e Aluno.cs, conforme consta na especificação
- 4.2. Nessa mesma pasta, crie uma classe TurmaContext.cs e implemente seu código
-
Execute pelo terminal:
- dotnet ef migrations add TabelasIniciais (Gera o versionamento das tabelas)
- dotnet ef database update (Efetua o versionamento no banco, gerando/alterando as tabelas)
- Modifique o arquivo Program.cs, criando objetos e interagindo com eles. Observe o que acontece no banco de dados.
- Para executar:
- dotnet restore
- dotnet build
- dotnet run
- Experimente fazer modificações nas classes, e efetue os comandos para persistir as alterações:
- dotnet ef migrations add < Nome da Migracao >
- dotnet ef database update
Veja que o .Net Core versiona suas alterações no banco, permite realizar operações usando OO e evolui o sistema, apenas modificando classes e objetos.