Ho 3 tipi di oggetti: Agenzia, BusinessUnit e Client (ciascuno con la rispettiva tabella)Come posso interrogare questi dati gerarchici usando LINQ?
In termini di gerarchia, le agenzie possiedono BusinessUnit e BusinessUnits possiedono client.
Ho 3 C# POCO oggetti per rappresentare loro (io di solito selezionare nuovo {} in loro, piuttosto che utilizzare il LINQ generato classi):
public class Agency
{
public IEnumerable<BusinessUnit> BusinessUnits { get; set; }
}
public class BusinessUnit
{
public IEnumerable<Client> Clients { get; set; }
}
public class Client
{
public int NumberOfAccounts { get; set; }
public Decimal AmountOfPlacement { get; set; }
public Decimal AvgBalance { get; set; }
public Double NeuPlacementScore { get; set; }
}
Si può vedere che le agenzie contengono un elenco di BUSINESSUNIT, e BusinessUnits contengono un elenco di client.
Ho anche una tabella di mappatura chiamato BAC_Map nel database che dice che possiede la quale, e sembra qualcosa di simile:
Come posso creare una query, in modo da poter interrogare e restituire un elenco di agenzie? Ciò significa che voglio che ogni agenzia abbia il proprio elenco di oggetti BusinessUnit impostati e voglio che l'elenco di BusinessObjects abbia il proprio elenco di client impostati.
Posso eseguire query LINQ di base, ma questo è un po 'eccessivo rispetto alla tabella Mappa e al multiplo? interrogazioni.
Come potrei costruire un metodo come GetAllAgencies() che interrogherebbe, non solo per tutte le agenzie, ma popolerà le sue BusinessUnits di proprietà dell'Agenzia, e i Clienti di quelle BusinessUnit?
Modifica: Qualsiasi suggerimento o informazione è apprezzato. Devo fare join? Questo deve essere più query per restituire un elenco di agenzie, con i suoi sottomulti popolati?
Hai Beibered – msmucker0527