Se ho una domanda che assomiglia a questo:Entity Framework includono Dove
var forms = repo.GetForms().Where(f => f.SubForms.Any(sf => sf.Classes.Any(c => c.TermId == termId)));
Da questo si può vedere il mio schema è il seguente:
SubForm
ha molti Class
che ha molti Term
.
quello che voglio:
Tutti SubForms
con il loro Classes
In una particolare Term
.
Quello che sta accadendo ora è che ottengo tutto il SubForm
che ha qualsiasi Class
in un particolare Term
. Ciò significa che SubForm
torna con ALL figlio Class
e non solo quelli relativi allo Term
.
Ad es. Ho 2 termini, una sottomaschera con 2 classi in ogni termine. Questa query riporta 4 classi invece del 2 in quel particolare termine.
C'è qualche Include('Expression')
che posso usare per dire che voglio solo includere tutte le classi in base a una condizione? O la mia domanda è sbagliata?
Il primo 'Any' dovrebbe essere un' Where', giusto? Altrimenti la tua query restituirebbe un 'bool', dicendo" Esiste qualche sottomaschera che ha classi con termini con il dato termId, si o no? " – Slauma
@Slauma Scusa, c'è anche un altro livello in cima a quell'espressione, lo modifico, mi dispiace –