Configuración de Entity Framework Core en .NET
Clase 13 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
Viendo ahora - 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
06:57 min - 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
Aprende a configurar Entity Framework Core en .NET paso a paso para escribir queries con LINQ sin SQL, gestionar migraciones y mantener un código más limpio y productivo. Este recurso explica qué es un ORM, qué paquetes instalar con NuGet y cómo crear y registrar un DbContext con base de datos en memoria.
¿Qué es un ORM y por qué usar Entity Framework?
Un ORM (Object Relational Mapping) permite mapear clases a tablas de base de datos. Con Entity Framework, desarrollado por el equipo de .NET, puedes trabajar con múltiples motores como SQL Server o PostgreSQL, e incluso con una base en memoria para pruebas. Así, el código queda más simple y se reducen dependencias directas de SQL.
- Mapeo de clases a tablas: se conectan clases de .NET con componentes de la base de datos.
- LINQ en lugar de SQL: se escriben queries con funciones de LINQ en el código.
- Migraciones: controlan cambios de esquema desde el código.
- Productividad: el contexto se reutiliza en múltiples queries y escenarios.
¿Cómo simplifica LINQ los queries sin SQL?
- Filtrar datos con expresiones claras en código.
- Seleccionar campos específicos sin escribir SQL.
- Componer queries legibles y reutilizables.
¿Qué paquetes de Entity Framework Core instalar con NuGet?
La instalación se realiza desde Manage NuGet Packages o buscando en nuget.org; también puedes usar el CLI. Para trabajar con Entity Framework Core e iniciar pruebas, instala los paquetes base, relacionales y de base en memoria.
¿Qué paquetes específicos instalar?
- Microsoft.EntityFrameworkCore: núcleo de Entity Framework Core.
- Microsoft.EntityFrameworkCore.Relational: configura bases relacionales desde el código.
- Microsoft.EntityFrameworkCore.InMemory: crea una base en memoria para pruebas.
Nota: sin el paquete InMemory, la opción para crear la base en memoria no aparece.
¿Cómo crear el DbContext y registrarlo en Program?
Crea una carpeta Data y define una clase AppDbContext que herede de DbContext. Luego, regístrala en los servicios de la aplicación con AddDbContext y configura UseInMemoryDatabase con un nombre, por ejemplo: "Curso APIs DB".
¿Cómo definir la clase AppDbContext?
using Microsoft.EntityFrameworkCore;
public class AppDbContext : DbContext
{
public AppDbContext(DbContextOptions<AppDbContext> options) : base(options)
{
// Configuración personalizada opcional.
}
}
- DbContext: clase base que representa el contexto de datos.
- DbContextOptions: configura el comportamiento del contexto.
¿Cómo registrar el contexto con AddDbContext e InMemory?
using Microsoft.EntityFrameworkCore;
// En Program.cs
builder.Services.AddDbContext<AppDbContext>(options =>
{
options.UseInMemoryDatabase("Curso APIs DB");
});
- AddDbContext: registra el contexto en los servicios.
- UseInMemoryDatabase: habilita la base en memoria para pruebas.
¿Qué habilidades y conceptos pones en práctica?
- Configurar un ORM en .NET con NuGet.
- Crear y heredar de DbContext.
- Usar DbContextOptions para ajustar el contexto.
- Registrar servicios con AddDbContext.
- Escribir queries con LINQ sin SQL.
- Entender el rol de las migraciones para cambios de esquema.
¿Con qué nombre vas a crear tu base en memoria y qué entidades planeas mapear primero? Comparte tu avance y dudas en los comentarios.