Linq to SQL-lambda-beitreten
Probleme mit dieser, ich habe versucht folgenden einige Beispiele, aber ich bin einfach nicht bekommen es. Es macht absolut Sinn mit der non-lambda Weg, aber wie mache ich eine Verknüpfung mit lambda-Ausdrücken?
var myCats = GetAllCats();
var myHouses = GetAllHouses();
//pseudosql: select * from a inner join b on a.id = b.id
Ich habe dies ausprobiert:
var fullData = myCats.Join(myHouses, a => a.id, b => b.id, (a, b) => a);
denen ich irgendwie durch die Suche nach anderen Beispielen SO ist, aber fullData Typ IEnumerable<Cat>
so kann ich nicht ziehen Sie alle Eigenschaften aus den Häusern ab.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zugang über
fullData.First().Cat...
oderfullData.First().House...
.foo
undbar
.Das problem ist, dass das Ergebnis die join - die letzten parameter für die Join-Methode - ist eine
Cat
, das ist, warumfullData
ist der TypIEnumerable<Cat>
. Wenn Sie möchten, um sowohl den Zugang, Rückkehr einen anonymen Typ:Weil das Letzte argument
(a, b) => a
Karte bedeutet die Rückkehr das Ergebnis auf den Katzen nur, d.h. es ist(cat, house) => cat
Können Sie die Rückgabe eines temporären Objekts mit dem paar z.B.
Müssen Sie definieren, nur das, was Sie wollen, wählen Sie aus Ihnen.
Können Sie Ihre letztere:
machen
fullData
ein IQueryable von einen anonymen Typ, der aussieht wie:Den Gegenwert in LINQy format:
Können Sie auch angeben, nur was Sie auswählen möchten, um unnötigen Abfall zu vermeiden: