Conecta tu API en .NET a una base de datos real con SQL Server usando Entity Framework Core de forma confiable y con alto rendimiento. Verás desde la instalación de paquetes y la configuración del connection string, hasta la creación de migraciones, el despliegue del esquema y la validación en Swagger. También se menciona el uso frecuente de PostgreSQL en ecosistemas open source con Angular o React.
¿Cómo conectar .NET con SQL Server paso a paso?
Comienza asegurando compatibilidad entre tecnologías y una configuración limpia en tu proyecto. El enfoque incluye paquetes NuGet, CLI de .NET, configuración de DbContext, creación de migraciones y pruebas con Swagger.
Instalar paquetes de Entity Framework Core para SQL Server.
Instalar la herramienta de CLIdotnet ef.
Definir el connection string en ConnectionStrings.
Configurar DbContext con UseSqlServer.
Crear migraciones iniciales.
Ejecutar database update para generar el esquema.
Probar en Swagger y verificar en SQL Server Management.
Considerar seguridad: crear usuario con permisos específicos en producción.
¿Qué configuración clave de Entity Framework Core aplicar?
La base está en instalar lo necesario, centralizar la cadena de conexión y registrar el DbContext apuntando a SQL Server. Si venías usando base en memoria, coméntala para evitar conflictos.
¿Qué paquetes NuGet instalar para SQL Server?
Buscar por Entity Framework Core en el explorador de paquetes.
Instalar el paquete relacionado a SQL Server.
Instalar el paquete de tools, esencial para migraciones.
Nota: si UseSqlServer no aparece, falta la librería de SQL Server.
¿Cómo agregar el connection string en appsettings?
Usar la sección ConnectionStrings, buena práctica reconocida por .NET.
Nombrar, por ejemplo, "SQL Server Connection".
Incluir servidor, base, usuario y contraseña; y el parámetro de certificado.
{"ConnectionStrings":{"SQL Server Connection":"Server=SERVIDOR;Database=BASE;User ID=SA;Password=CLAVE;Trusted Certificate=false;"}}
Alternativa: autenticación de Windows sin usuario y contraseña.
En producción: crear un usuario y asignar permisos a la base.
¿Cómo registrar el DbContext con UseSqlServer en Program?
Comentar la configuración de use in memory database.
Registrar el contexto con AddDbContext y UseSqlServer leyendo desde Configuration.
builder.Services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer( builder.Configuration.GetConnectionString("SQL Server Connection")));
¿Cómo ejecutar migraciones y probar la API en Swagger?
Con la configuración lista, genera el esquema con migraciones y crea la base. Luego, valida el flujo completo creando registros desde Swagger y verificando en el administrador de SQL.
¿Cómo generar migraciones con dotnet ef?
Instalar la herramienta global de CLI.
dotnet tool install --global dotnet-ef
Crear la migración inicial.
dotnet ef migrations add initial create
Si aparece un error de compilación: compilar manualmente y reintentar.
Se creará la carpeta Migrations con el archivo de snapshot y la migración con fecha y nombre "initial create".
¿Cómo crear la base de datos con database update?
Ejecutar el comando para aplicar migraciones al servidor.
dotnet ef database update
Mensaje "Done" indica creación exitosa: base vacía pero con el esquema completo.
¿Cómo validar en Swagger y SQL Server Management?
Autenticar en Swagger y crear un usuario (ejemplo: nombre "Miguel" y "test").
No enviar ID: la base lo genera automáticamente.
Crear una tarea con título "Terminar curso de APIs"; el campo completado tiene valor por defecto falso.
Recordatorio: la base validará ID existentes en operaciones.
Verificar en la herramienta de administración de SQL: base "Curso APIs DB", tablas "usuarios" y "tareas" con registros creados.
Habilidades y conceptos practicados: Entity Framework Core, migraciones, DbContext, UseSqlServer, connection string, CLI con dotnet ef, pruebas en Swagger, administración en SQL Server Management, y métodos update y delete a validar en los endpoints.
¿Tienes preguntas sobre la configuración, las migraciones o las pruebas en Swagger? Comenta tu caso y cuéntame qué error o escenario quieres resolver.