2017-08-24 69 views
0

我有2個實體:PostComment如何偷懶InverseProperty財產

我有一個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(); 
+1

爲什麼不試着詢問? – Tseng

+0

我不知道如何檢查。 – ison

+0

你得到了上面的代碼,填充數據庫,執行它作出斷點,檢查值。在你寫文章的時候,如果可能的話你已經測試了10次 – Tseng

回答

0

如果使用.Include()然後InverseProperty屬性的屬性將包含所有Comments分配給該Post

所以最好不要使用它,如果你只想得到前10條評論。