Sobes.tech
Middle

Qual é a diferença entre os métodos Include e ThenInclude no Entity Framework?

sobes.tech IA

Resposta da IA

Include carrega entidades relacionadas a partir de uma propriedade de navegação. ThenInclude carrega entidades relacionadas a partir da propriedade de navegação da entidade, já incluída com Include ou outro ThenInclude.

Exemplo:

// Carregar pedidos (Orders) e os clientes (Customers) relacionados
context.Orders.Include(o => o.Customer);

// Carregar pedidos (Orders), os clientes (Customers) relacionados
// e os endereços (Addresses) desses clientes
context.Orders.Include(o => o.Customer).ThenInclude(c => c.Addresses);

Em resumo, Include é usado para o primeiro nível de aninhamento, e ThenInclude para níveis subsequentes, permitindo carregar dados relacionados profundamente aninhados em uma única consulta.