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.
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 EFdotnet 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 basedotnet 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.
Conectar .NET API con PostgreSQL usando Entity Framework