J'ai une table AccountSecurity qui est une table many-to-many qui relie les entités de compte et les valeurs. Lorsque j'écris la requête ci-dessous, elle renvoie toutes les valeurs qui satisfont la clause where. Cependant chaque instance de sécurité dans la liste n'a plus la référence à la sécurité de compte d'où elle provient. Donc quand je fais la liste [0] .AccountSecurity c'est vide. Est-il possible d'inclure cette information? Je sais que je peux réécrire la requête pour retourner AccountSecurities à la place et utiliser .Include ("Security") sur cela, mais je me demande si cela peut être fait d'une autre manière.Entity Framework, Comment inclure les entités associées dans cet exemple
var list = (from acctSec in base.context.AccountSecurities
where acctSec.AccountId == accountId
select acctSec.Security).ToList();
MISE À JOUR
Bien sûr, si je fais deux requêtes le graphique se jour correctement, il doit y avoir une façon de le faire en un seul coup.
var securities = (from acctSec in base.context.AccountSecurities
where acctSec.AccountId == accountId
select acctSec.Security).ToList();
//this query populates the AccountSecurities references within Security instances returned by query above
var xref = (from acctSec in base.context.AccountSecurities
where acctSec.AccountId == accountId
select acctSec).ToList();
AccountSecurity est une table plusieurs-à-plusieurs. Cela signifie qu'il n'y a que sec.AccountSecurities car une seule sécurité peut appartenir à plusieurs comptes. J'ai essayé de faire sec.AccountSecurities [0] .AccountId == accountId mais cela jette une exception. – e36M3
Réécrit le où pour beaucoup à beaucoup. –
merci! J'ai couru ceci à travers et le seul problème que je vois avec ceci est que les titres retournés auront tous une référence à tous les comptes auxquels ils appartiennent, pas seulement celui spécifié par accountId. En d'autres termes, si j'ai 5 titres, mais que ces 5 titres sont mappés à 2000 comptes, alors j'ai 5x2000 lignes retournées. Je pense qu'il pourrait être plus efficace de faire deux requêtes pour remplir le graphique avec les valeurs en premier, puis l'information acccountsecurity (many-to-many) plus tard. – e36M3