Aracılığıyla paylaş


Load Yöntemi

Bu varlıklarla hemen bir şey yapmadan veritabanındaki varlıkları bağlama yüklemek isteyebileceğiniz çeşitli senaryolar vardır. Bunun iyi bir örneği, Yerel Veriler'de açıklandığı gibi veri bağlama için varlıkların yüklenmesidir. Bunu yapmak için yaygın yollardan biri, bir LINQ sorgusu yazmak ve ardından bu sorguda ToList'i çağırmaktır; yalnızca oluşturulan listeyi hemen atmaktır. Load uzantısı yöntemi, listenin oluşturulmasını tamamen önlemesi dışında ToList gibi çalışır.

Bu konu başlığında gösterilen teknikler, gerek Code First gerekse EF Designer ile oluşturulan modellere için geçerlidir.

Burada Load kullanımına iki örnek verilmiştir. İlki, Yerel Veriler'de açıklandığı gibi yerel koleksiyona bağlamadan önce varlıkları sorgulamak için Load'un kullanıldığı bir Windows Forms veri bağlama uygulamasından alınır:

protected override void OnLoad(EventArgs e)
{
    base.OnLoad(e);

    _context = new ProductContext();

    _context.Categories.Load();
    categoryBindingSource.DataSource = _context.Categories.Local.ToBindingList();
}

İkinci örnekte, İlgili Varlıkları Yükleme bölümünde açıklandığı gibi, ilgili varlıklardan oluşan filtrelenmiş bir koleksiyonu yüklemek için Yük kullanma gösterilmektedir:

using (var context = new BloggingContext())
{
    var blog = context.Blogs.Find(1);

    // Load the posts with the 'entity-framework' tag related to a given blog
    context.Entry(blog)
        .Collection(b => b.Posts)
        .Query()
        .Where(p => p.Tags.Contains("entity-framework"))
        .Load();
}