🔄Eager Loading

Eager Loading es una técnica utilizada en Entity Framework para cargar anticipadamente las entidades relacionadas en una sola consulta a la base de datos.

🌟 ¿Por Qué Usar Eager Loading?

  • Optimización de Rendimiento: Reduce el número de consultas a la base de datos.

  • Facilidad de Acceso a Datos Relacionados: Permite acceder a datos relacionados sin necesidad de consultas adicionales.

⚙️ Cómo Implementar Eager Loading

Se utiliza principalmente con los métodos Include y ThenInclude.

Ejemplo Básico:

Supongamos que tienes las siguientes entidades: Blog y Post.

public class Blog
{
    public int BlogId { get; set; }
    public string Name { get; set; }
    public List<Post> Posts { get; set; }
}

public class Post
{
    public int PostId { get; set; }
    public string Title { get; set; }
    public string Content { get; set; }
    public int BlogId { get; set; }
    public Blog Blog { get; set; }
}

Para cargar Blog con sus Posts relacionados:

using (var context = new BloggingContext())
{
    var blogs = context.Blog
                      .Include(blog => blog.Posts)
                      .ToList();
}

🔄 Uso de Include y ThenInclude

  • Include: Utilizado para especificar la relación que se desea incluir.

  • ThenInclude: Utilizado para especificar relaciones adicionales basadas en una relación previamente incluida.

Ejemplo Avanzado:

Imagina ahora una tercera entidad Author relacionada con Post.

public class Author
{
    public int AuthorId { get; set; }
    public string Name { get; set; }
}

Para incluir Author en Post:

using (var context = new BloggingContext())
{
    var blogs = context.Blog
                      .Include(blog => blog.Posts)
                          .ThenInclude(post => post.Author)
                      .ToList();
}

Última actualización