WebApi Core.net,Entityframework y AutoMapper

Posted on 6 of agosto, 2020 by admin in C# & VB.net

Tutorial de creación de WebApi Core.net 3.1,EntityFramework y AutoMapper.

Primero creamos un Proyecto en vs2019.

pantalla001

Seleccionamos ASP.NET Core, y presionamos next.

pantalla002

Colocamos un nombre al proyecto, en este caso lo nombré WebApiEmployee.

pantalla003

Seleccionamos net.core, ASP.net Core 3.1, Api y procedemos a crear el proyecto base.

pantalla004

Luego procedemos a agregar las dependencias necesarias para el funcionamiento del WebApi.

  1. Microsoft.EntityFrameworkCore.Tools
  2. Microsoft.EntityFrameworkCore.Design
  3. Microsoft.EntityFrameworkCore.SqlServer
  4. Microsoft.EntityFrameworkCore.SqlServer.Design
  5. AutoMapper

pantalla005

Para agregar,  vamos al menú tools, Nuget Package, Manage NuGet.

pantalla006

Luego de agregar las dependencias, procedemos a crear la db que necesitamos, a esta db la llamamos StoreDB y creamos la tabla que vamos a utilizar,  ésta se llama dbo.Employee.


— =============================================
— Create database template
— =============================================
USE master
GO

— Drop the database if it already exists
IF EXISTS (
SELECT name
FROM sys.databases
WHERE name = N’StoreDB’
)
DROP DATABASE StoreDB;
GO

CREATE DATABASE StoreDB;
GO

USE StoreDB;
GO

IF OBJECT_ID(‘dbo.Employee’, ‘U’) IS NOT NULL
DROP TABLE dbo.Employee
GO

CREATE TABLE dbo.Employee
(
ID int not null identity(1,1),
FirstName varchar(50) not null,
LastName varchar(50) not null,
UserName varchar(32) not null,
[Password] varchar(32) not null,
CONSTRAINT PK_Employee PRIMARY KEY (ID)
)
GO

Luego de crear la db y la tabla. Procedemos a crear el data context y los modelos. utilizando el comando Scaffold-DbContext

pantalla007


Scaffold-DbContext “Server=xxxxx;Database=StoreDB;User ID=xxx;Password=xxx” Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

Esto a su vez, genera un folder con el nombre Models y el data context y el modelo de la tabla Employee.

pantalla008

pantalla009

Luego de la creacion del modelo y el data context modificamos el archivo appsettings.json y agregamos el connection string.

pantalla011

Modificamos nuestra clase Startup y adiccionamos la inyección de la interface de Entityframework y Cors para poder acceder al WebApi desde cualquier browser o aplicación.

pantalla012

Luego creamos un folder DTOs, este contendrá las clases para realizar el Mapper y creamos nuestra classe EmployeeDTO

pantalla013

Agregamos una clase para el manejo del AutoMapper, con el nombre de AutoMapperConfiguration

pantalla014

Luego, procedemos con la creación del controller EmployeesController y adicionamos un método get que devolverá todos los Empleados de la tabla creada. Realizamos la inyeción de la interface IMapper para el mapeo de los datos de la tabla.

pantalla015

Luego procedemos a compilar y correr el WebApi, si todo está bien configurado, podremos acceder al método get creado desde el browser

pantalla016