我有2个实体:Post
和Comment
我有一个Post
个实例,我希望收到前10条评论。
Post
:
public class Post
{
public int Id { get; set; }
[InverseProperty("Post")]
public virtual ICollection<Comment> Comments { get; set; }
}
Comment
:
public class Comment
{
public int Id { get; set; }
[Required]
public string Text { get; set; }
public int PostId { get; set; }
[ForeignKey("PostId")]
public virtual Post Post { get; set; }
}
如果我这样做,会有多少评论来自数据库?全部还是仅仅10?
var comments = post.Comments.Take(10).ToList();
这样做效率更高吗?
var comments = Db.Comments.Where(x => x.Post == post).Take(10).ToList();
答案 0 :(得分:0)
如果您使用.Include()
,则具有InverseProperty
属性的媒体资源将包含分配给此Comments
的所有Post
。
因此,如果您只想获得前10条评论,最好不要使用它。