Entity Framework 3 Tabellen verbinden
Frage
Ich versuche, drei Tabellen zu verbinden, aber ich verstehe die Methode nicht ...
Ich habe die Verknüpfung von 2 Tabellen abgeschlossen
var entryPoint = dbContext.tbl_EntryPoint
.Join(dbContext.tbl_Entry,
c => c.EID,
cm => cm.EID,
(c, cm) => new
{
UID = cm.OwnerUID,
TID = cm.TID,
EID = c.EID,
}).
Where(a => a.UID == user.UID).Take(10);
Ich würde gerne einbeziehen tbl_Title Tisch mit TID PK und holen Titel Feld.
Vielen Dank
Lösung
Ich denke, es wird einfacher sein, eine syntaxbasierte Abfrage zu verwenden:
var entryPoint = (from ep in dbContext.tbl_EntryPoint
join e in dbContext.tbl_Entry on ep.EID equals e.EID
join t in dbContext.tbl_Title on e.TID equals t.TID
where e.OwnerID == user.UID
select new {
UID = e.OwnerID,
TID = e.TID,
Title = t.Title,
EID = e.EID
}).Take(10);
Und Sie sollten wahrscheinlich hinzufügen orderby
Klausel, um sicherzugehen Top(10)
gibt die korrekten Top-Ten-Artikel zurück.
Andere Tipps
Dies ist ungeprüft, aber ich glaube, dass die Syntax für eine Lambda-Abfrage funktionieren sollte.Wenn Sie mit dieser Syntax mehr Tabellen anschließen, müssen Sie weiter unten in die neuen Objekte bohren, um die Werte zu erreichen, die Sie manipulieren möchten.
generasacodicetagpre.
generasacodicetagpre.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow