Sobes.tech
Middle

A inclusão é uma carga ansiosa, preguiçosa ou explícita?

sobes.tech IA

Resposta da IA

Include no Entity Framework é um mecanismo de Carregamento ansioso (Eager Loading).

Carregamento ansioso significa que as entidades relacionadas são carregadas a partir do banco de dados juntamente com a entidade solicitada em uma ou várias consultas na primeira vez que se acessa os dados.

Seu uso previne o problema de "N+1 consultas", que pode ocorrer com o carregamento preguiçoso, quando uma consulta separada ao banco de dados é feita para acessar cada entidade relacionada.

Sintaxe:

// Carregamento ansioso de pedidos juntamente com os clientes
var customersWithOrders = context.Customers.Include(c => c.Orders).ToList();

Comparação com outros tipos de carregamento:

Tipo de carregamento Descrição Quando usar
Ansioso (Include) Carregamento de dados relacionados juntamente com os principais em uma única consulta (ou várias). Quando os dados relacionados quase sempre são necessários.
Preguiçoso Carregamento de dados relacionados apenas na primeira consulta a eles. Quando os dados relacionados não são sempre necessários.
Explícito Carregamento manual de dados relacionados após obter a entidade principal. Quando os dados relacionados são necessários em um momento específico após o carregamento da entidade principal.