2010-09-25 5 views
0

je suit les entitésaide LINQ to SQL plusieurs à plusieurs requêtes

A_Entity 
----------- 
AId 

AB_Entity 
----------- 
AId 
BId 

B_Entity 
----------- 
BId 

J'ai une fonction qui aide à la construction de la requête basée sur l'entrée fournie. Dans ce cas, je dois construire une requête pour récupérer tous les A_Entities qui ont correspondant Bid (fourni en entrée à la fonction)

public static IQueryable<A_Entity> BuildQuery(IQueryable<A_Entity> query, int BId) 
{ 
    // Something like query.where(a => a.select_all_a_that_have corresponding_b_with_Id_equalto_BId) 
} 

Je sais qu'il doit y avoir jonction entre AB_Entity et A_Entity mais ne sais pas comment l'appliquer pour construire IQueryable et revenir.

Merci

+0

sont sur A_Entity-t-il des propriétés de navigation? Autrement dit, A_Entity a-t-il une propriété AB_Entities? Sinon, vous devrez passer un moyen de construire une requête de AB_Entity et B_Entity sur lequel créer la jointure. – Jeff

+0

@ JeffN825: oui. – stackoverflowuser

Répondre

1
query = query.Where(a => a.AB_Entities.Any(ab => ab.BId == BId)); 
return query; 
+0

Cela ne fonctionnera pas puisque AB_Entities est un EntitySet stackoverflowuser

+0

Désolé. Erreur stupide. – Jeff

Questions connexes