Wie zum verknüpfen von zwei Tabellen mit Linq in MVC-controller
Ich habe zwei sql-Tabellen mit einer 1:n-Beziehung. Für meine ASP.NET MVC-Lösung habe ich aktiviert EF-code-first-migration und die richtige DBContext und Klassen gegründet.
Möchte ich schreiben, ein MVC-controller, der verbindet die beiden Tabellen, um auf bestimmte Datensätze für die Anzeige im Blick.
Sind hier die beiden Klassen:
public class Tbl_Group_Communities : Entity
{
public string GKZ { get; set; }
public int G_ID { get; set; }
}
public class Katastralgemeinden : Entity
{
public string KGNr { get; set; }
public string KGName { get; set; }
public string GKZ { get; set; }
public string GemeindeName { get; set; }
}
Bisher habe ich in der Lage zu kommen mit einem funktionierenden controller für die Tische selbst aber nicht verbunden. Unten der funktionierende controller für die erste Klasse:
public IEnumerable<Tbl_Group_Communities> Get()
{
var entities = UnitOfWork.GetAll<Tbl_Group_Communities>().ToList();
return entities;
}
Denke ich, kann die Verknüpfung erfolgen, die mit Linq, aber ich habe keine Ahnung, wie/wo anfangen.
Die gemeinsamen Schlüssel für beide Tabellen wird GKZ; so die Verknüpfung eingerichtet werden sollten, über GKZ. Und dann muss ich auswählen bestimmter Datensätze aus der verknüpften Datensätze, in denen G_ID = einem bestimmten Wert.
Wenn jemand könnte mir etwas helfen, wäre ich sehr dankbar.
Manu
Meinst du, dass Sie nicht finden können, eine Dokumentation, wie Sie schreiben, die
Join
Aussage? Abgesehen davon, es ist nicht klar, was UnitOfWork
produzieren kann. Tut es auch eine Katastralgemeinden
? Und wenn ja, was bedeutet GetAll
zurück? Wenn es IEnumerable
Beitritt ist nicht effizient überhaupt.Ich könnte finden Sie Unterlagen, aber da bin ich Recht neu mit C# und MVC-Controller die docus waren mehr verwirrend als helfend. UnitOfWork auch Katastralgemeinden. Ich dachte, GetAll führt alle Datensätze zurück, das war nur eine Prüfung, die für eine Tabelle der controller funktioniert. Was wäre effizienter als IEnumerable?
Wenn Sie sich zwei
IEnumerable
s, die Daten der beiden Tabellen wird der Wert in den Speicher von zwei Abfragen (dass wohl wieder viele Daten) und ging dann in den Speicher. Wenn Sie sich zwei IQueryable
(kommen aus dem gleichen Kontext), die beitreten werden, übersetzt werden in eine leistungsfähige SQL-Abfrage.InformationsquelleAutor Manu | 2016-10-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie tun, inner join, wie unten gezeigt.
Annahme : Hoffe deine Tabellennamen sind wie
Tbl_Group_Communities
undKatastralgemeinden
.In anderen Worten denselben Namen wie die Klasse Namen.Erfahren Sie mehr über
join
hier : "Join-OperatorenInformationsquelleAutor Sampath
Habe ich es herausgefunden - hier ist mein controller funktioniert:
Grüße, Manu
InformationsquelleAutor Manu