Sto cercando di filtrare gli oggetti figlio sul recupero usando quanto segue
var loanExtractExample = be.LoanCategoryMonitors
.Where(lcm => lcm.LoanNumber == 5000435)
.Include(l => l.Loan)
.Include(le => le.LoanExtracts)
.Select(le => le.LoanExtracts.Borrowers.Where(b => b.BorrowerNum == 1))
.ToList();
ma quando controllo la collezione di entità ci sono 2 mutuatari. Uno con BorrowerNum 1 e uno con BorrowerNum = 3.
Cosa mi manca per essere in grado di ridurre i mutuatari a quello corretto?
La scelta per i mutuatari credo che restituirebbe i mutuatari per i monitor di categoria di prestito in cui un monitor aveva un mutuatario con ID 1. Credo che quello che stai cercando è:
var matchingBorrowers = be.LoanCategoryMonitors
.Where(lcm => lcm.LoanNumber == 5000435)
.SelectMany(le => le.LoanExtracts.Borrowers) // Borrowers for loan extracts against loan 5000435...
.Where(b => b.BorrowerNum == 1)) // Of those borrowers, those with BorrowerNum = 1.
.ToList();
I servizi di inclusione non sono necessari poiché non si sta recuperando un monitor di categoria di prestito, ma è possibile che si desideri aggiungere qualsiasi istruzione .Include () per i riferimenti figlio dei mutuatari che vengono restituiti. (dopo il .SelectMany()
)