Date le seguenti 3 classi (semplificate):
Quando sto provando a caricare l'elenco JunctionClass
...
var junctionClassList = _appDbContext.JunctionClass
.Include(jc => jc.ClassA)
.Include(jc => jc.ClassB).ToList();
il codice non carica gli oggetti ClassA
e ClassB
.
Ho trovato una soluzione, ma non penso che io stia usando EF Core come dovrebbe essere usato:
var classAList = _appDbContext.ClassA.ToList();
var classBList = _appDbContext.ClassB.ToList();
var junctionClassList = _appDbContext.JunctionClass
.Include(jc => jc.ClassA)
.Include(jc => jc.ClassB).ToList();
In questo modo, l'oggetto junctionClassList
caricherà anche le dipendenze classA
e classB
.
La mia domanda è questa: è questo il modo corretto di usare il caricamento lazy / eager? oppure c'è un'altro modo?
Stai utilizzando il caricamento Eager in questo caso utilizzando Include
. Il caricamento lento viene introdotto in EF Core 2.1. Devi abilitarlo esplicitamente.