2009-04-26 17 views
1

Ich möchte diese Auswahl mit Linq machen:Linq und wählen Sie mit zwei Tabellen

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

Ich habe folgendes getan, aber ich weiß nicht, wie die Abfrage zu beenden:

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

    select dc; 

Irgendein Vorschlag?

Vielen Dank!

Antwort

1

Das die Arbeit machen sollte:

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

Ich muss überprüfen ContentTypeId und in Ihrer Abfrage ich nicht Siehe diesen Wert. – VansFannel

+0

VansFannel: Ja, das habe ich aktualisiert. Ich bin verwirrt mit deinen Beziehungen. Ich denke, das sollte funktionieren. Ist dies nicht der Fall, posten Sie die Entity-Strukturen. –

+0

Ja, es funktioniert! Danke für Ihre Hilfe. – VansFannel

2

Sie können dies tun mit einer LINQ verbinden, wie im folgenden Beispiel:

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; 
Verwandte Themen