0
說明情況負載相關的實體,我會提供虛擬代碼波紋管EF:在第二個請求
public class Author
{
public int AuthorId { get; set; }
public virtual ICollection<Book> Books { get; set; }
}
public class Book
{
public int BookId { get; set; }
public virtual Author Author { get; set; }
}
var authors = context.Authors.ToList(); (1)
context.Books.Load(); (2)
var firstAuthorBook = authors.First().Book; (3)
(1)I負荷db.I所有作者做沒有預先加載,所以我知道,相關書籍將不會被加載。 (2)我使用顯式加載分開加載所有書籍
(3)我嘗試獲得第一作者的書。 但是這裏的懶加載調用db發生了。爲什麼會發生?如果所有實體都加載到(2)中,爲什麼還需要再次調用db?