Používam prvý prístup s kódom Entity Framework 4.1.
Chcem, aby sa dychtivo načítala ako moja konfigurácia dafault, a tým sa vyhnúť použitiu metódy Zahrnúť rozšírenie v každom vyhľadávacom dopyte.
V MSDN som postupoval podľa odporúčaní a zmenil som jednoduchú lenivú vlastnosť v konštruktore DbContext:
public class EMarketContext : DbContext
{
public EMarketContext()
{
// Change the default lazy loading to eager loading
this.Configuration.LazyLoadingEnabled = false;
}
}
Tento prístup bohužiaľ nefunguje. Musím použiť metódu zahrnúť na vykonanie horlivého načítania v každom dotaze. Nejaké nápady prečo? Vopred ďakujem.
odpovede:
26 pre odpoveď č. 1Neexistuje žiadna predvolená konfigurácia pre nedočkavé načítanie. Musíte vždy definovať Include
alebo vytvorte nejakú opakovane použiteľnú metódu, ktorá bude zalamovať pridávanie vrátane. Napríklad môžete umiestniť podobný spôsob ako váš kontext:
public IQueryable<MyEntity> GetMyEntities()
{
return this.MyEntities.Include(e => e.SomeOtherEntities);
}