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);

tables

Ich würde gerne einbeziehen tbl_Title Tisch mit TID PK und holen Titel Feld.

Vielen Dank

War es hilfreich?

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
scroll top