Supose модель, как показано ниже:
class public Post
{
public int Id {get; set;}
public virtual ICollection<Comment> Comments {get;set;}
}
на странице сообщений / индекса, я хочу показать список сообщений с количеством комментариев каждого сообщения (не общее количество комментариев всех сообщений).
1: если я использую
context.Posts.Include("Comments")
он загрузит всю сущность всех связанных комментариев, на самом деле мне нужно только количество комментариев.
2: Если я получу количество каждого поста один за другим:
var commentCount = context.Entry(post)
.Collection(p => p.Comments)
.Query()
.Count();
это проблема N + 1.
Кто-нибудь знает правильный путь?
Спасибо!