verknüpfen von zwei Tabellen in entity framework
ich versuche zu join zwei Tabellen in entity framework und das abrufen des Werts aus einer von Ihnen zu einer weiteren Abfrage, die auf eine Dritte Tabelle
dies ist die Abfrage, die ich bin mit
var fav = from favs in db.FAVORITES
join pins in db.PINS
on new { favs.USER_ID, favs.PIN_ID } equals new { userId, pins.PIN_ID } into res
from r in res
select new { favs.PIN_ID, r.TYPE_ID };
aber es gibt mir einen syntax-Fehler in
Die Art der einer der Ausdrücke in der join-Klausel ist falsch. Typ-Inferenz konnte in der der Aufruf von "GroupJoin'
gesucht hab ich über den Fehler und finde, dass die Leute immer sagen,, um sicherzustellen, dass die Eigenschaften in der gleich - Klausel sind vom gleichen Typ, und ja die sind alle vom Typ nicht-int nullable
InformationsquelleAutor a3adel | 2014-02-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beim ausführen einer LINQ-join-Typen auf beiden Seiten gleich sein muss, genau das gleiche, aber in Ihrer Abfrage, die Sie haben USER_ID vs. userId.
Das Update ist einfach:
Ist es ein bisschen einfacher zu sehen, warum dies ist notwendig, wenn die Arbeit mit der fluent-syntax für GroupJoin (was man hier eigentlich macht, aufgrund der "in" - Klausel; regelmäßige Join ist ähnlich).
Die Signatur ist:
Beachten Sie, dass outerKeySelector und innerKeySelector muss wieder der gleiche Typ TKey (die Verknüpfung wird dann durch Abstimmung der Tasten).
Schreiben Ihre ursprüngliche Verknüpfung, in der fließend Stil, die Sie haben würden:
überprüfen Sie meine aktualisierte Antwort
Klare Antwort, funktioniert für mich!
InformationsquelleAutor ChaseMedallion
Sie könnten versuchen, diese:
Oder - wenn Sie nur die DescriptionID:
(Oder
FirstOrDefault()
oderToList()
oderSum()
? Weil Ihr Modell würde es erlauben, dass die Kunden/Beschreibungen sind mit mehreren Konten)InformationsquelleAutor Jangli Coder