Sdílet prostřednictvím


Metoda Load

Existuje několik scénářů, ve kterých můžete chtít načíst entity z databáze do kontextu, aniž byste s těmito entitami museli okamžitě nic dělat. Dobrým příkladem je načítání entit pro datovou vazbu, jak je popsáno v místních datech. Jedním z běžnýchzpůsobůch Metoda Load extension funguje stejně jako ToList s tím rozdílem, že se vyhne vytvoření seznamu úplně.

Techniky uvedené v tomto tématu jsou rovnocenné pro modely vytvořené pomocí Code First a EF Designeru.

Tady jsou dva příklady použití load. První je převzat z aplikace datové vazby model Windows Forms, kde se načtení používá k dotazování entit před vazbou na místní kolekci, jak je popsáno v místních datech:

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

    _context = new ProductContext();

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

Druhý příklad ukazuje načtení filtrované kolekce souvisejících entit, jak je popsáno v tématu Načítání souvisejících entit:

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();
}