Conectar .NET API con PostgreSQL usando Entity Framework
Clase 18 de 21 • Curso de APIs con .NET
Contenido del curso
Estructura de una Web API
- 7

Configuración CORS en .NET: solución al error
07:08 min - 8

Rutas en APIs .NET con parámetros
12:50 min - 9

Documentación de APIs con OpenAPI y Swagger en .NET
14:25 min - 10

Middlewares en ASP.NET: pipeline y custom middleware
10:32 min - 11

Inyección de dependencias en .NET: ILogger
09:18 min - 12

Middleware para autenticación básica en .NET
08:17 min
Arquitectura y Middlewares
- 13

Configuración de Entity Framework Core en .NET
07:31 min - 14

Modelos C# y relaciones con Entity Framework
10:01 min - 15

Servicios con Entity Framework para ASP.NET
13:51 min - 16

Controladores API en .NET con Swagger
14:46 min - 17

Conectar API .NET con SQL Server
09:51 min - 18

Conectar .NET API con PostgreSQL usando Entity Framework
Viendo ahora - 19

Qué es Clean Architecture en .NET
09:08 min - 20

Pruebas unitarias en .NET con Copilot
09:05 min - 21

Qué sigue después de tu API con .NET
02:16 min
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.