0% encontró este documento útil (0 votos)
579 vistas5 páginas

CRUD en ASP.NET Core MVC 3.0

Este documento describe cómo crear una aplicación ASP.NET Core MVC para realizar operaciones CRUD (crear, leer, actualizar, eliminar) en una base de datos SQL Server. Primero se crea una base de datos y tabla, luego una aplicación ASP.NET Core MVC. Se instalan paquetes de NuGet y se usa scaffolding para generar clases de entidad y contexto de base de datos. La cadena de conexión se almacena en el archivo appsettings.json para seguridad. Finalmente, se crea un controlador de productos para proporcionar funcionalidad CRUD completa.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
579 vistas5 páginas

CRUD en ASP.NET Core MVC 3.0

Este documento describe cómo crear una aplicación ASP.NET Core MVC para realizar operaciones CRUD (crear, leer, actualizar, eliminar) en una base de datos SQL Server. Primero se crea una base de datos y tabla, luego una aplicación ASP.NET Core MVC. Se instalan paquetes de NuGet y se usa scaffolding para generar clases de entidad y contexto de base de datos. La cadena de conexión se almacena en el archivo appsettings.json para seguridad. Finalmente, se crea un controlador de productos para proporcionar funcionalidad CRUD completa.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

REALIZAR UN CRUD CON ASP.NET CORE MVC 3.

0 O SUPERIOR
Pre requisitos:

Visual Studio 2019 16.3.0 o superiror


NET Core 3.0 o superior
SQL Server 2017 o superior

Crear una base de datos, con el nombre Inventario

Y crear una tabla productos:


Create Table Productos(
Id BigInt Identity(1,1) Primary Key,
Nombre Varchar(100) Not Null,
Categoria Varchar(100),
Color Varchar(20),
PrecioUnit Decimal Not Null,
CantidadDisponible BigInt Not Null,
FechaCreacion DateTime Default(GetDate()) Not null)

Crear una aplicacion Asp.net Core

Luego seleccione la plantilla Web Application (Model-View-Controller), y cree con el nombre


de la solucion AdministracionInventario

Tomar nota que al crear des-cheque la opción Https


Instalar los siguientes paquetes con Nuget:

 Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design – Este paquete


ayuda a generar controladores y vistas.
 Install-Package Microsoft.EntityFrameworkCore.Tools -Version 3.0.0-
preview8.19405.11 Este paquete ayuda a crear el context de la base de datos y un modelo
de clases desde la base de datos.
 Install-Package Microsoft.EntityFrameworkCore.SqlServer -Version 3.0.0-
preview8.19405.11 Es el proveedor de la base de datos que permite trabajar con Entity
Framework Core con SqlServer.

Scaffolding

ASP.NET Core tiene una característica llamada scaffolding, que usa plantillas T4 para generar
código de funcionalidades comunes para ayudar a evitar que los desarrolladores escriban código
repetitivas, lo usamos para realizar las siguientes operaciones:
 Genere clases de entidad POCO y una clase de contexto para la base de datos.
 Genere código para las operaciones de creación, lectura, actualización y eliminación
(CRUD) del modelo de base de datos utilizando Entity Framework Core, que incluye
controladores y vistas.
Los POCO (Plain Old CLR Object) son entidades simples que definen el modelo y se usan para persistir. las POCO son
tambien DTO cuando se usan ademas para transportar los datos entre las diferentes capas o sea si usamoss una entidad
en la capa de negocio, o en el repositorio seria un POCO.
Si ademas usa ese POCO para enviar los datos a la UI seria un DTO, ya que esa entidad tambien la usas para comunidad
dos capas hay algunas variantes en una arquitecura distribuida por lo general las POCO y las DTO son clases diferentes y
se usa un conversor para pasar de una a otra, por lo general se usan framework como automapper
Las DTO estan mas relacionadas cuando hay un transporte entre capas, las vamos a ver diferenciado cuando implementas
WCF para separar la capa de negocio y la UI, los DataContract son claros DTO (Data Transfer Object)

Conectar la aplicación con la base de datos


Ejecute el siguiente comando en Package Manager Console para realizar ingeniería inversa de la
base de datos para crear clases de POCO de contexto y entidad de base de datos a partir de
tablas. El comando scaffold creará una clase POCO solo para las tablas que tienen una clave
primaria.

Scaffold-DbContext “Server=ABCSERVER;Database=Inventory;Integrated Security=True”


Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

Connection: establece la cadena de conexión de la base de datos.


Provider: establece qué proveedor usar para conectar la base de datos.
OutputDir: establece el directorio donde se generarán las clases POCO.
Abra el archivo InventarioContext. Veremos que las credenciales de la base de datos están
codificadas en el método OnConfiguring.

No es una buena práctica tener credenciales de SQL Server en la clase C #, teniendo en cuenta
los problemas de seguridad. Por lo tanto, elimine este método OnConfiguring del archivo de
contexto.

Y copiamos en el archivo appsettings.json

Ahora podemos registrar el servicio de contexto de la base de datos (InventarioContext) durante el


inicio de la aplicación.
En el siguiente código, la cadena de conexión se lee del archivo de configuración de la aplicación y
se pasa al servicio de contexto.

Este servicio de contexto se inyecta con los controladores necesarios mediante inyección de
dependencia.
Operaciones CRUD
Crear un nuevo controlador:

Ahora tenemos operaciones CRUD totalmente funcionales para la tabla Productos.


Luego, cambie la ruta de aplicación predeterminada para cargar el Controlador de productos en
lugar del controlador de inicio.
Abra el archivo Startup.cs y, bajo el método Configurar, cambie el controlador predeterminado a
Productos.
Con la ayuda del motor de scaffolding, los desarrolladores no necesitan escribir operaciones CRUD
para cada modelo de base de datos.

CORRER LA APLIACION

También podría gustarte