Từ khóa ảo này có liên quan đến chủ đề tải dữ liệu từ khung thực thể (tải lười biếng, tải háo hức và tải rõ ràng).
Bạn nên sử dụng từ khóa ảo , khi bạn muốn tải dữ liệu với tải lười biếng.
tải lười biếng là quá trình trong đó một thực thể hoặc bộ sưu tập các thực thể được tự động tải từ cơ sở dữ liệu vào lần đầu tiên được truy cập.
Ví dụ: khi sử dụng lớp thực thể Blog được xác định bên dưới, các Bài đăng liên quan sẽ được tải lần đầu tiên thuộc tính điều hướng Bài viết được truy cập:
public class Blog
{
public int BlogId { get; set; }
public string Name { get; set; }
public string Url { get; set; }
public string Tags { get; set; }
public virtual ICollection<Post> Posts { get; set; }
}
Tải nhanh bộ sưu tập Bài viết có thể được tắt bằng cách làm cho thuộc tính Bài viết không ảo.
nếu tải lười biếng bị tắt, Tải bộ sưu tập Bài viết vẫn có thể đạt được bằng cách tải háo hức (sử dụng phương pháp Bao gồm) hoặc Tải rõ ràng các thực thể liên quan (sử dụng phương thức Tải).
Đang háo hức tải:
using (var context = new BloggingContext())
{
// Load all blogs and related posts
var blogs1 = context.Blogs
.Include(b => b.Posts)
.ToList();
}
Đang tải rõ ràng:
using (var context = new BloggingContext())
{
var blog = context.Blogs.Find(1);
// Load the posts related to a given blog
context.Entry(blog).Collection(p => p.Posts).Load();
}