यह वर्चुअल कीवर्ड इकाई ढांचे से डेटा लोड करने के विषय (आलसी लोडिंग, उत्सुक लोडिंग और स्पष्ट लोडिंग) से संबंधित है।
जब आप आलसी लोडिंग के साथ डेटा लोड करना चाहते हैं, तो आपको वर्चुअल कीवर्ड का उपयोग करना चाहिए ।
आलसी लोडिंग एक ऐसी प्रक्रिया है जिसके माध्यम से एक इकाई या संस्थाओं का संग्रह स्वचालित रूप से डेटाबेस से पहली बार लोड किया जाता है।
उदाहरण के लिए, नीचे परिभाषित ब्लॉग इकाई वर्ग का उपयोग करते समय, संबंधित पोस्ट को पहली बार पोस्ट नेविगेशन संपत्ति तक पहुंचने पर लोड किया जाएगा:
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; }
}
डाक संपत्ति के आलसी लोडिंग को डाक संपत्ति को गैर-आभासी बनाकर बंद किया जा सकता है।
यदि आलसी लोडिंग बंद है, तो पोस्ट संग्रह का लोडिंग अभी भी उत्सुक लोडिंग (शामिल विधि का उपयोग करके) या स्पष्ट रूप से लोडिंग संबंधित संस्थाओं (लोड विधि का उपयोग करके) का उपयोग करके प्राप्त किया जा सकता है।
उत्सुकता से लोड हो रहा है:
using (var context = new BloggingContext())
{
// Load all blogs and related posts
var blogs1 = context.Blogs
.Include(b => b.Posts)
.ToList();
}
स्पष्ट रूप से लोड हो रहा है:
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();
}