2009-04-26 8 views
1

Je veux faire cette sélection avec LINQ:LINQ et une sélection avec deux tables

Select cd.name from Content c, ContentDetail cd 
where c.id_contentTypeID = contentTypeId and 
     c.id_contentID = contentID and 
     cd.id_contentID = c.contentID; 

Je l'ai fait ce qui suit, mais je ne sais pas comment mettre fin à la requête:

var list = 
    from c in guideContext.Content, 
     dc in guideContext.ContentDetail 
    where c.id_content == contentID && 

    select dc; 

Toute suggestion?

Merci!

Répondre

1

Cela devrait faire le travail:

var list = from cd in guideContext.ContentDetail 
      where cd.id_contentID == contentID && 
       cd.Content.id_contentTypeID == contentTypeId 
      select cd; 
+0

Je dois vérifier ContentTypeID et dans votre requête, je ne le font pas voir cette valeur. – VansFannel

+0

VansFannel: Oui, j'ai mis à jour cela. Je suis confus avec tes relations. Je * pense * que cela devrait fonctionner. Si ce n'est pas le cas, veuillez afficher les structures de l'entité. –

+0

Oui, ça marche! Merci de votre aide. – VansFannel

2

Vous pouvez le faire en utilisant une jointure LINQ comme dans l'exemple suivant:

var query = from c in guidecontext.Content 
      join cd in guidecontext.ContentDetail 
      on c.id_contentID equals cd.id_contendID 
      where c.id_contendID = contentId 
      && c.contentTypeId = contentTypeId 
      select cd.name; 
Questions connexes