Sobes.tech
Middle

¿Es Include una carga ansiosa, perezosa o explícita?

sobes.tech AI

Respuesta de la IA

Include en Entity Framework es un mecanismo de carga ansiosa (Eager Loading).

La carga ansiosa significa que las entidades relacionadas se cargan desde la base de datos junto con la entidad solicitada en una o varias consultas en la primera vez que se accede a los datos.

Su uso previene el problema de "N+1 consultas", que puede ocurrir con la carga perezosa, cuando se realiza una consulta separada a la base de datos para acceder a cada entidad relacionada.

Sintaxis:

// Carga ansiosa de pedidos junto con los clientes
var customersWithOrders = context.Customers.Include(c => c.Orders).ToList();

Comparación con otros tipos de carga:

Tipo de carga Descripción Cuándo usar
Ansiosa (Include) Carga de datos relacionados junto con los principales en una sola consulta (o varias). Cuando los datos relacionados casi siempre son necesarios.
Perezosa Carga de datos relacionados solo en la primera consulta a ellos. Cuando los datos relacionados no siempre son necesarios.
Explícita Carga de datos relacionados manualmente después de obtener la entidad principal. Cuando los datos relacionados son necesarios en un momento específico después de cargar la entidad principal.