En esta entrada voy a realizar un ejemplo de como realizar una conexión entre una aplicación ASP.NET Core 5 y Una base de datos SQL Server usando el enfoque database First. Te platico un poco mas sobre este enfoque.
En el mundo del desarrollo muchas veces nos podemos encontrar que cuando se nos contrata para realizar un desarrollo la empresa ya cuenta con una base de datos desarrollada, para trabajar ante esta situación es conveniente utilizar el enfoque database first y la herramienta que nos ayuda para se llama Entity Framework Core.
Entity Framework Core nos provee de las herramientas para realizar ‘ingeniería inversa’y poder generar automaticamente todas las clases del modelo desde el esquema de una base de datos, así como construir el Scaffold.
Bien, comenzo con los requisitos para realizar la platica:
Tener instalado Visual Studio.
Tener instalado Entity Framework 5
Tener instalado SQL Server (En mi caso utilizare la versión Express).
Tener alguna base de datos creada.
Si tienes dudas sobre como crear un proyecto ASP.NET Core puedes revisar esta entrada:
Abrimos nuestro proyecto ASP.NET Core MVC desde Visual Studio y nos dirigimos al menu:
Herramientas / Administrador de paquetes NuGet / Consola del Administrador de paquetes.
Tendremos que instalar tres dependencias para configurar lo necesario y poder realizar la técnica database first. Copiaremos cada linea del codigo que se presenta a continuación 1 a 1 según se vayan instalando.
Abrimos nuesta base de datos para obtener nuestra cadena de conexión:
Ahora vamos a crear el contexto de la base de dato, para ello ejecutaremos en la consola de administración de paquetes el siguiente comando en caso de que nuestro metodo de conexión sea por autenticación de Windows:
Tambien editaremos nuestro archivo Startup.cs agregando la siguientes lineas de codigo para agregar inyeccion de dependencias dentro del metodo ConfigureServices.
var connection = Configuration.GetConnectionString("DefaultConnection");
services.AddDbContext<rafanetContext>(options=>options.UseSqlServer(connection));
Crear controladores y las vistas:
Ahora lo que debemos hacer es crear un controlador, tal y como aparece en la imagen: