Wie join 3 Tabellen mit lambda-Ausdruck?
Habe ich eine einfache LINQ lambda-join-Abfrage, aber ich möchte hinzufügen, ein 3. join mit where-Klausel. Wie kann ich dies tun?
Hier meine einzigen join-Abfrage:
var myList = Companies
.Join(
Sectors,
comp => comp.Sector_code,
sect => sect.Sector_code,
(comp, sect) => new {Company = comp, Sector = sect} )
.Select( c => new {
c.Company.Equity_cusip,
c.Company.Company_name,
c.Company.Primary_exchange,
c.Company.Sector_code,
c.Sector.Description
});
Möchte ich hinzufügen, dass die folgenden SQL-Befehl an die obige LINQ-Abfrage und immer noch halten die Projektionen:
SELECT
sector_code, industry_code
FROM
distribution_sector_industry
WHERE
service = 'numerical'
Dem 3. join gemacht werden würde mit Sektor-Tabelle & Distribution_sector_industry auf sector_code.
Vielen Dank im Voraus.
- Es ist nicht klar, wie deine beiden Abfragen beziehen sich auf einander - wo würde das mitmachen werden?
- Guter Punkt @JonSkeet. Ich habe das update Frage.
- dies könnte Ihre Meinung ändern, Linq, anstatt lambda: ienablemuch.com/2014/03/highfalutin-code-1.html
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur eine Vermutung:
Okay, ich kann nicht sehen, warum würden Sie wollen, wählen Sie sector_code, wenn Sie es schon wissen, aber ich denke, Sie wollen diese:
Hinweise:
Where
zu nennen wären in Ordnung - aber Sie verwenden sollten, je nachdem welche form besser lesbar im Rahmen, IMO. Durch die Zeit, die Sie haben mehrere joins, eine query-Ausdrücke fast immer gewinnen.Für 4 Tische
Probieren Sie etwas wie dieses...