Comandos esenciales de EF Core con dotnet: mi kit de supervivencia

Cuando empecé a trabajar con EF Core, me encontré con una lista de comandos larga y confusa. Pero, con el tiempo, descubrí que solo necesito unos cuantos bien dominados para manejar el 90% de los casos.

Aquí te comparto los comandos esenciales de dotnet ef que uso constantemente para manejar migraciones, sincronizar modelos y hasta hacer ingeniería inversa de una base de datos.

1. Crear una migración nueva

dotnet ef migrations add NombreMigracion

Este comando crea una nueva migración basada en los cambios que hiciste a tus modelos C#. Es como un “commit” para la base de datos.

Ejemplo:

dotnet ef migrations add Inicial

Consejo: nombra tus migraciones con sentido. Evita cosas como Add1 o prueba. Tu yo del futuro te lo agradecerá.

2. Aplicar migraciones a la base de datos

dotnet ef database update

Este comando ejecuta todas las migraciones pendientes sobre la base de datos actual. Es decir, traduce tus modelos en tablas reales.

3. Eliminar la última migración

dotnet ef migrations remove

¿Te equivocaste al crear una migración? Si aún no la aplicaste, puedes eliminarla sin consecuencias con este comando. Ideal cuando estás haciendo pruebas o cambiaste de idea.

4. Ver el SQL que se generará

dotnet ef migrations script

Genera el script SQL que ejecutaría EF Core, desde la migración inicial o entre dos migraciones específicas.

👉  Rastreando las SERPs de Google: las APIs más Destacadas

Es súper útil si tu equipo de DBA quiere revisar el SQL antes de aplicarlo en producción.

5. Ver detalles del proceso de actualización

dotnet ef database update --verbose

Este comando hace lo mismo que el database update, pero con lujo de detalles. Ideal si algo falla y necesitas entender qué está pasando.

6. Listar todas las migraciones existentes

dotnet ef migrations list

Te muestra todas las migraciones que has creado en el proyecto. Buenísimo para saber en qué punto del historial estás.

7. Ver información del DbContext actual

dotnet ef dbcontext info

Muestra detalles como el nombre del DbContext, el proveedor que estás usando (ej. SQL Server), y más. Útil cuando tienes varios contextos en el mismo proyecto.

8. Generar modelos desde una base de datos existente

dotnet ef dbcontext scaffold "CadenaConexion" Microsoft.EntityFrameworkCore.SqlServer -o Models

Este comando hace ingeniería inversa: crea modelos C# y un DbContext a partir de una base de datos ya existente.

A mí me ha salvado más de una vez cuando me entregan una base de datos “heredada” sin documentación. Solo asegúrate de tener una cadena de conexión válida.

¿Qué puedes lograr con estos comandos?

Con solo estos ocho comandos, puedes:

  • Crear y aplicar migraciones para mantener sincronizados tu código y la base de datos.
  • Revertir errores antes de que sea tarde.
  • Ver y compartir SQL antes de desplegar.
  • Reconstruir tu modelo desde bases de datos existentes.

En resumen: con este mini set de comandos, puedes cubrir prácticamente todo el ciclo de trabajo con EF Core. Si te los aprendes bien, ya tienes el 80% del camino recorrido.

👉  Regenerar miniaturas de WordPress con WP-CLI

¿Tienes algún comando extra que uses mucho y no aparece aquí? Me encantaría conocerlo.

👇Tu comentario