EF Core - Projeto ASP .NET Core Code First
Hoje temos um tutorial para criação de um projeto ASP .NET Core usando o EF Core usando a abordagem Code First. |
Este projeto é usado como um projeto suporte para os exemplo que usam os recursos do EF Core.
Os recursos usados para criar o projeto são:
Criando o projeto inicial no VS 2019
Abra o VS 2019 Community e crie um novo projeto via menu File-> New Project;
Selecione o template ASP .NET Core Web Application, e, Informe o nome da solução AspNet_EFCoreAPi (ou outro nome a seu gosto) e o nome do projeto AlunosWeb.
A seguir selecione .NET Core e ASP .NET Core 3.1 e marque o template API e as configurações conforme figura abaixo:
Podemos remover o arquivo WeatherForecast.cs do projeto e o controlador da pasta Controllers pois não vamos usá-los.
A seguir inclua os seguinte pacotes no seu projeto:
Microsoft.EntityFrameworkCore.SqlServer - Usar o provedor do banco de dados SQL Server
Microsoft.EntityFrameworkCore.Tools - Permite realizar o Migrations
Nota: Para instalar abra uma janela do Package Manager Console e use o comando : Install-Package <nome>
Esses pacotes são necessários para realizarmos o acesso ao banco de dados SQL Server e aplicarmos o Migrations ao modelo de domínio e assim gerar o banco de dados e as tabelas.
Definindo o modelo de domínio
Crie uma pasta Models e nesta pasta crie a classe Aluno que representa a nossa entidade de domínio:
using System;
public class Aluno
{
public Guid Id { get; set; }
public string Nome { get; set; }
public int? Idade { get; set; }
public bool Ativo { get; set; }
}
|
Criando o contexto e registrando como um serviço
Agora na mesma pasta Models crie o arquivo AppDbContext:
using Microsoft.EntityFrameworkCore;
public class AppDbContext : DbContext } |
No método ConfigureServices do arquivo Startup registre o serviço do contexto:
...
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<AppDbContext>(
options => options.
UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddControllers();
}
...
|
E no arquivo appsettings.json inclua a string de conexão com o banco de dados usando sua instância local:
{
"ConnectionStrings": {
"DefaultConnection": "Data Source=Macoratti;Initial Catalog=AlunosDBWeb;Integrated Security=True"
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*"
}
|
E pronto. Temos o projeto padrão configurado para usar os recursos do Migrations do EF Core.
Pegue o projeto aqui: AspNetEFCoreProjeto.zip (sem as referências)
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
C# - StreamReader, StringReader e TextReader . Qual a ... - Macoratti
C# - Imprimindo um arquivo texto - Macoratti
C# - Usando OpenFileDialog - Macoratti
C# - Formatando arquivos textos - Macoratti