
Breve explicación sobre lo que se rewalizará en el curso
Creación y poblado de la Base de Datos
Generación de Clases Entidades
dotnet ef dbcontext scaffold "Server= DESKTOP-QT0N32M\SQL2019;Database=Consultas;user id=sa; password=loveAdrian; MultipleActiveResultSets=true" Microsoft.EntityFrameworkCore.SqlServer -o Entidades
Comandos para la librería EntityFrameworkCore
dotnet add package Microsoft.EntityFrameworkCore --version 3.1.1
dotnet add package Microsoft.EntityFrameworkCore.Tools --version 3.1.1
dotnet add package Microsoft.EntityFrameworkCore.SqlServer --version 3.1.1
dotnet add package Microsoft.EntityFrameworkCore.Design --version 3.1.1
Creación del "esqueleto" inicial
Esta consulta retorna todas las filas que están en la Tabla de Departamento - (A) y ademas si hay coincidencias de filas en la Tabla de Empleado - (B) también va a traer esas filas.
SELECT * FROM dbo.Departamento A LEFT JOIN dbo.Empleado B ON A.DepartamentoId=B.DepartamentoId
Construcción del servicio para SQL JOIN [Inclusive] - Left Join (Departamento)
Creación de la vista con los resultados paginados desde la capa de presentación DataTables
Agregar recursos externos para facilitar la personalización de la vista
Agregando función para exportar elementos de la tabla a Excel desde la capa de presentación
Agregar librería para Dapper
Install-Package Dapper -Version 2.0.90
Esta consulta retorna todas las filas de la Tabla de Departamento - (A) que no tienen ninguna coincidencia con la Tabla de Empleado - (B)
SELECT * FROM Departamento A LEFT JOIN Empleado B ON A.DepartamentoId=B.DepartamentoId WHERE B.EmpleadoId IS NULL
Construcción del servicio para SQL JOIN [Exclusive] - Left Join (Departamento) (¬Empleado)
Esta consulta retorna TODAS las filas de las dos tablas. Hace la union entre las filas que coinciden entre la Tabla de Departamento - (A) y Tabla de Empleado - (B)
SELECT * FROM Departamento A FULL OUTER JOIN Empleado B ON A.DepartamentoId=B.DepartamentoId
Construcción del servicio para Full Outer Join (Departamento Unión Empleado)
Consulta las filas de la Tabla de Departamento - (A) que coinciden en la Tabla de Empleado - (B). Es decir aquellas que están en las 2 tablas
SELECT * FROM Departamento A INNER JOIN Empleado B ON A.DepartamentoId=B.DepartamentoId
Construcción del servicio para SQL JOIN [Inner Join] - Departamento Intersección Empleado
Esta consulta retorna todas las filas de la Tabla de Departamento - (A), y todas las filas de la Tabla de Empleado - (B) que no coinciden
SELECT * FROM Departamento A FULL OUTER JOIN Empleado B ON A.DepartamentoId=b.DepartamentoId WHERE A.DepartamentoId IS NULL OR b.DepartamentoId IS NULL
Construcción del servicio para SQL JOIN [Exclusive] - Excluding Full Outer Join
Esta consulta retorna todas las filas que están en la Tabla de Empleado - (B) y ademas si hay coincidencias de filas en la Tabla de Departamento - (A) también va a traer esas filas.
SELECT * FROM Departamento A RIGHT JOIN Empleado B ON A.DepartamentoId=B.DepartamentoId
Construcción del servicio para SQL JOIN [Inclusive] - Right Join (Empleado)
Esta consulta retorna todas las filas de la Tabla de Empleado - (B) que no tienen ninguna coincidencia con la Tabla de Departamento - (A)
SELECT * FROM Departamento A RIGHT JOIN Empleado B ON A.DepartamentoId=B.DepartamentoId WHERE A.DepartamentoId IS NULL
Construcción del servicio para SQL JOIN [Exclusive] - Right Join (Empleado) (¬Departamento)
Creación de las consultas
https://www.codeproject.com/Articles/488643/LinQ-Extended-Joins
Agregar clase con los métodos extensibles
En este curso aprenderás a realizar consultas del día a día cuando nos enfrentamos en un escenario en el que hay una tabla maestro y una tabla detalle.
Para el mapeo de objetos relacionales, tendremos a Entity Framework Core. Por otro lado, exploraremos un micro ORM: Dapper- Muy útil para tomar en cuenta en migraciones con desarrollos con conexión ADO
Personalizaremos la presentación de los resultados con elementos configurables desde un recurso externo. Desde el cuál, tendremos la configuración de título, detalle y otros elementos de la Vista
Trabajaremos con Datatables como paginador (tomar en cuenta para presentación de elementos cuando no se está trabajando con miles de registros…) y se integrará la exportación de la tabla a un archivo Excel utilizando funcionalidad con JavaScript
Al final, revisamos como integrar métodos extensibles para ampliar el alcance de las consultas que realizamos con EntityFramework Core
Para aplicaciones nuevas se recomienda usar Entity Framework Core si la aplicación a desarrollar no exige ninguna funcionalidad todavía no implementada en esta versión, es decir, todavía no ha sido “migrada” desde la versión clásica.
Dapper es un conjunto métodos de extension de la interface IDbConnection. Es una libreria de código abierto desarrollada y mantenida por miembros del equipo de Stack Overflow. Al implementar métodos de extension sobre IDbConnection le permite funcionar con cualquier proveedor de ADO .NET.
Si te ha gustado el modo de enseñanza, te invito a que te suscribas al curso de Aplicaciones con .NET Core MVC, Net 5.0, D3.js, SQL Server donde revisaremos otros modos de trabajo con la Base de Datos y mucho más cuestiones con un nivel mayor de detalle.