Code First: La magia de crear bases de datos sin tocar SQL
En este post, aprenderemos a utilizar Code First con Entity Framework, un enfoque que nos permite definir y gestionar nuestra base de datos directamente desde el código en C#. Veremos cómo funciona, sus ventajas y por qué es una excelente opción para desarrollar aplicaciones escalables.
¿Qué es Code First?
Entity Framework (EF) es un ORM (Object-Relational Mapper) para .NET que facilita la interacción con bases de datos mediante objetos en C#. Dentro de EF, el enfoque Code First nos permite definir la estructura de la base de datos usando clases en C#, sin necesidad de diseñarla previamente en SQL Server mediante Clases.
Ejemplo práctico guiado
En primer lugar crearemos un proyecto Modelo-Vista-Controlador (MVC) con .NET9.
Para poder implementar Code First en nuestros proyectos necesitaremos los siguientes paquetes NuGet
Una vez tengamos los paquetes NuGet sobre la carpeta Models/ crearemos una calse llamada Produtco.cs
Mediante los decoradores es como podemos «modelar» los campos nuestra tabla.
Una vez tengamos nuestro Modelo creado, crearemos la carpeta Data y sobre esta ProductosContext.cs
Ya solo queda añadir una cadena de conexión y configurar los servicios en Program.cs
Sobre appsettings.json debes de añadir tu cadena de conexión de SQL Management Studio y en Initial Catalog poner el nombre que deseas que tenga tu nueva base de datos.
Y en Program.cs debemos incluir la siguiente linea:
Ya tenemos toda la configuración y solo nos quedaria utilizar el la Consola de Paquetes NuGet, los siguientes comandos:
Add-Migration «NombreDeTuMigracion»
Este comando lo que hará es crear la migración donde se verán reflejados tus modelos tal cuál estan definidos.Pero todavía no estan actualizados en la base de datos, para actualizar los cambios deberás ejecutar el siguiente comando:
Update-Database
Una vez seguido todos los pasos ya tendremos nuestra base de datos creada con sus respectivas tablas.
¿Si queremos cambiar o añadir otra tabla?
Simplemente modificamos o añadimos el modelo, lo incluimos en el context y ejecutamos los comandos.
Conclusión
Con Code First seremos capaces de desarrollar más ràpido sin necesidad de utilizar SQL, de una forma más flexible y con migraciones automáticas
Autor/a: Aarón García Anguita
Máster: Desarrollo Web Full Stack + MultiCloud
Centro: Tajamar Tech
Año académico: 2024-2025
GitHub: https://github.com/ItxChewy/ProductosCodeFirst









