DEV Community

Nathan Silva
Nathan Silva

Posted on • Edited on

Como criar uma API com EntityFramework e SQL Server

Neste artigo irei mostrar como criar uma API simples utilizando EntityFramework com SQL server.

Preparando o ambiente

Vamos começar criando o projeto. Primeira coisa a ser feita é criar um projeto do tipo ASP.NET Core Web API.

Image description

Com o projeto criado a gente já pode testar com o Swagger uma das rotas padrões.

Image description

Pra esse tutorial a gente já vai fazer uma coisa mais "next level". Vamos dividir as nossas camadas de dados em API, DAL, BLL e Entity. Com isso vamos adicionar esses 3 projetos com o tipo Class.Library.

Image description

Instalando dependências

Agora é hora de utilizarmos o Nuget para adicionar alguns pacotes ao nosso projeto de DAL e API(futuramente os outros projetos também podem precisar desses pacotes). Tools > Nuget package manager > Manage package nuget for solution.

Image description

Ao tentar instalar, será solicitado outros pacotes, ai é só aceitar tudo.

Estruturando o projeto com classes

Agora que já temos nossas dependências instaladas, vamos criar uma classe na DAL que irá herdar o DbContext e fazer as ações necessárias.

Image description

Você vai notar que já tem algumas configurações do modelbuilder, mas eu estou basicamente informando quais vão ser os campos da minha tabela. De resto é tudo igual. Inclusive, essa é a minha classe Pessoa que foi criada no projeto de Entity.

Image description

Criando a conexão

No arquivo appSettings.json do projeto Asp.Net insera a string de conexão que leverá o nosso banco

Image description

"StringConnection" : "server=(local)\\SQL2019;database=vrsolicitacoes;integrated security=true;trustservercertificate=true"

Logo após isso, iremos até o Program.cs informar que utilizaremos esse caminho para usar o SqlServer.

Image description

Migrations

Agora vamos criar o nosso banco utilizando migration. Lá no Package Manager Console digite:

Add-Migration "Nome da migration aqui"

Depois disso é só rodar o seguinte comando

Update-Database

Nota

Se der o erro apresentado abaixo, basta trocar o projeto target para aquele que estiver com a classe que herda do dbContext.

Your target project '' doesn't match your migrations assembly 'DAL'. Either change your target project or change your migrations assembly.
Change your migrations assembly by using DbContextOptionsBuilder. E.g. options.UseSqlServer(connection, b => b.MigrationsAssembly("ApiVrSolicitacoes")). By default, the migrations assembly is the assembly containing the DbContext.
Change your target project to the migrations project by using the Package Manager Console's Default project drop-down list, or by executing "dotnet ef" from the directory containing the migrations project.

Top comments (0)