チームによるLoadingRelatedEntitiesの投稿を読みましたEntity Framework
が、最後の段落で少し混乱しました。
すべてのエンティティをロードするコストを実際に負担することなく、データベース内の別のエンティティに関連するエンティティの数を知ることが役立つ場合があります。これを行うには、LINQCountメソッドを使用した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();
これにより遅延読み込みがトリガーされ、すべてのコレクションがメモリに読み込まれ、目的のスカラー値が取得されますか?