🔄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
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