Resumen

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 CLI dotnet 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.