2012-04-13 8 views
0

Ich habe zwei Tabellen Artist-Tabelle (PK: ArtistID), Movie-Tabelle (PK: MovieID) und eine Junction-Tabelle ArtistMovie.
Wie kann ich einige Spalten von beiden Tabellen Künstler und Film in einem Datagrid mit Linq2Entities anzeigen:Linq zu Entitäten Inner Join zu Datagrid

RentalEntities db = new RentalEntities();

Unten ist meine Frage:

SELECT Movie.MovieName, 
     Movie.Year, 
     Artist.ArtistName, 
     Artist.Age 
     FROM Artist INNER JOIN ArtistMovie ON Artist.ArtistID = ArtistMovie.ArtistID 
        INNER JOIN Movie ON ArtistMovie.MovieID = Movie.MovieID 

Antwort

1

Ich denke, würde dies funktionieren sollte:

from a in db.Artist 
join am in db.ArtistMovie on a.ArtistID equals am.ArtistID 
join m in db.Movie on am.MovieID equals m.MovieID 
select new { 
    MovieName = m.MovieName, 
    Year = m.Year, 
    ArtistName = a.ArtistName, 
    Age = a.Age 
}; 
+0

Dies funktioniert, nur eine Note aber, brauchen Sie nicht die Namen der Felder in der Wählen Sie, während Sie in anonyme Typen projizieren, und die Feldnamen, die Sie angegeben haben, sind genau die gleichen wie die Namen der Felder, die Sie auswählen. – mattytommo

+0

@mattytommo, true! Es funktionierte auch ohne die Feldnamen – ArchieTiger