我阅读了团队的加载相关实体帖子,Entity Framework
对最后一段感到有些困惑:
有时,知道有多少实体与数据库中的另一个实体相关而不实际产生加载所有这些实体的成本是很有用的。可以使用带有 LINQ Count 方法的 Query 方法来执行此操作。例如:
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();
}
为什么这里需要Query
+Count
方法?
我们不能简单地使用 LINQ 的COUNT
方法吗?
var blog = context.Blogs.Find(1);
var postCount = blog.Posts.Count();
这会触发延迟加载并且所有集合都将被加载到内存中,然后我会得到我想要的标量值吗?