Ho tre modelli che desidero includere durante l'esecuzione di una query.Entity Framework Core Eager Loading Then Includi in una raccolta
Ecco lo scenario.
public class Sale
{
public int Id { get; set; }
public List<SaleNote> SaleNotes { get; set; }
}
public class SaleNote
{
public int Id { get; set; }
public User User { get; set; }
}
public class User
{
public int Id { get; set; }
}
posso caricare i ansioso SaleNotes come questo ...
_dbContext.Sale.Include(s => s.SaleNotes);
Tuttavia, cercando di carico ansiosi il modello utente dal SaleNote utilizzando ThenInclude è impegnativo, perché si tratta di una collezione. Non riesco a trovare alcun esempio su come caricare avidamente questo scenario. Qualcuno può fornire il codice che va nel seguente ThenInclude per caricare l'utente per ogni elemento della collezione.
_dbContext.Sale.Include(s => s.SaleNotes).ThenInclude(...);
Grazie per la risposta. In realtà ho scoperto che sebbene l'Utente non si fosse mostrato nell'intelligenza, ho aggiunto sn.User, ho costruito la mia soluzione e funzionava! L'intellisense trattava la "sn" di SaleNotes nell'espressione lambda come una raccolta, quindi non mostrava le proprietà individuali della classe User. –
prego. Sono felice di poterti aiutare;) – octavioccl
@AllenRufolo ci sono due overload, uno che ti dà l'intera lista (la prima e quella di default), un'altra che ti dà ogni elemento nella lista (la seconda) - quindi, se fai semplicemente "freccia giù" nell'intelligence, vedrai le opzioni intellettuali attese. Ho avuto la stessa confusione anche io :-) – gzak