Resumen

Conecta tu API de .NET a PostgreSQL con Entity Framework de forma clara y sin fricción. A continuación se describen los pasos para instalar el proveedor Npgsql desde Manage NuGet Packages, configurar el connection string en appsettings, regenerar migraciones y validar todo con pgAdmin 4.0 y Swagger.

¿Cómo instalar dependencias y configurar la conexión a PostgreSQL?

Para que .NET funcione con PostgreSQL, primero se agrega el paquete adecuado y se verifica la herramienta de migraciones. Luego se define el connection string en appsettings y se activa el proveedor con UseNpgsql en el DbContext. Recuerda: no puedes tener dos conexiones activas a la vez; comenta la de SQL Server si vas a usar PostgreSQL.

¿Qué paquetes y herramientas ef se necesitan?

  • Abrir Manage NuGet Packages y buscar por PostgreSQL.
  • Instalar NPG SQL Entity Framework Core PostgreSQL.
  • Verificar la CLI de Entity Framework con: dotnet tool install global dotnet ef.
  • Confirmar que se recibe una respuesta de instalación correcta.
# Herramienta de EF
dotnet tool install global dotnet ef

¿Cómo definir el connection string y activar UseNpgsql en Program?

  • En appsettings, crear una nueva conexión para PostgreSQL.
  • Incluir claves: host, database, username y password (ejemplo usado: 12345).
  • Utilizar ese connection string en Program con UseNPGSQL para el AppDbContext.
  • Comentar la configuración previa de SQL Server o de base en memoria.

¿Cómo manejar migraciones de Entity Framework para PostgreSQL?

Si existe una migración creada para SQL Server, habrá tipos como nvarchar o configuraciones de SQL Server Identity que no aplican en PostgreSQL. Por eso, se eliminan las migraciones anteriores y se genera una nueva basada en el proveedor de PostgreSQL. Si aparece un error de compilación, realiza un Rebuild manual y repite el comando.

¿Por qué la migración previa de SQL Server no sirve?

  • Incluye tipos como nvarchar ligados a SQL Server.
  • Usa configuraciones específicas de SQL Server Identity.
  • No es compatible con PostgreSQL y fallará al aplicar cambios.

¿Cómo regenerar y aplicar la base con dotnet ef?

  • Eliminar las migraciones y el snapshot existentes.
  • Crear una nueva migración: dotnet ef migrations add initial create.
  • Si hay error de build, hacer Rebuild del proyecto y reintentar.
  • Aplicar cambios: dotnet ef database update.
  • Ignorar errores intermedios si al final aparece “Done” y verificar en el gestor.
# Regenerar migraciones y actualizar base
dotnet ef migrations add initial create
dotnet ef database update

¿Cómo validar en pgAdmin y probar endpoints en Swagger?

Una vez aplicada la migración, se valida la creación de la base y tablas en pgAdmin 4.0. Luego se ejecuta la API, se autentica en Swagger y se prueban los endpoints de usuario. El ID se genera automáticamente al crear un registro.

¿Qué verificar en pgAdmin 4?

  • Hacer Refresh del servidor para ver la base creada.
  • Confirmar que aparece la base “cursos API de B”.
  • Revisar esquemas y tablas: task y user creadas.

¿Cómo autenticar y crear un usuario en Swagger?

  • Iniciar Swagger y autenticarse con “plagci 1, 2, 3, 4, 5”.
  • Ir al endpoint de user y enviar un POST con “Miguel” y “email arroba email punto com”.
  • Confirmar respuesta de creación exitosa.
  • Ejecutar GET para ver el registro con ID 1.
  • Probar todos los endpoints: get, post, update y delete como reto.

¿Tienes dudas o quieres compartir tus pruebas con PostgreSQL y Entity Framework? Deja tu comentario y cuéntanos qué endpoints validaste y cómo te fue en Swagger.