Bu sanal anahtar kelime, varlık çerçevesinden veri yükleme konusu ile ilgilidir (tembel yükleme, istekli yükleme ve açık yükleme).
Tembel yüklemeyle veri yüklemek istediğinizde sanal anahtar kelime kullanmalısınız .
tembel yükleme , bir varlığın veya varlık koleksiyonunun ilk kez veritabanına otomatik olarak yüklendiği işlemdir.
Örneğin, aşağıda tanımlanan Blog öğesi sınıfını kullanırken, Yayınlar gezinme özelliğine ilk kez erişildiğinde ilgili Yayınlar yüklenir:
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; }
}
Yayınlar koleksiyonunun tembel yüklemesi, Mesajlar özelliği sanal olmayan yapılarak kapatılabilir.
tembel yükleme kapalıysa, Mesajlar koleksiyonunun yüklenmesi yine de istekli yükleme (Dahil etme yöntemi kullanılarak) veya Açıkça ilgili varlıklar (Yükleme yöntemi kullanılarak) kullanılarak gerçekleştirilebilir.
Hevesle Yükleme:
using (var context = new BloggingContext())
{
// Load all blogs and related posts
var blogs1 = context.Blogs
.Include(b => b.Posts)
.ToList();
}
Açıkça Yükleniyor:
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();
}