leí el Loading Related Entities mensaje por el equipo Entity Framework
y un poco confundido por el último párrafo:¿El LINQ con un resultado escalar disparar la carga diferida
A veces es útil saber cuántas entidades están relacionados con otra entidad en la base de datos sin incurrir realmente en el costo de cargar todas esas entidades. El método Query con el método LINQ Count se puede usar para hacer esto. Por ejemplo:
using (var context = new BloggingContext())
{
var blog = context.Blogs.Find(1);
// Count how many posts the blog has
var postCount = context.Entry(blog)
.Collection(b => b.Posts)
.Query()
.Count();
}
¿Por qué el método Query
+ Count
para continuar?
¿No podemos simplemente usar el método COUNT
de LINQ?
var blog = context.Blogs.Find(1);
var postCount = blog.Posts.Count();
Will que desencadenan la carga lenta y toda la colección será cargado a la memoria y justo que voy a conseguir mi valor escalar deseada?
Gracias Amiram, por lo que pensé que era correcto, el getter de propiedad de la colección desencadena la carga lenta. Lo estoy aceptando – gdoron