Wie kann ich die Anzeige von Daten aus mehreren Tabellen in einer einzigen MVC-Ansicht
Ich habe eine harte Zeit, die Lösung der folgenden mit einer MVC-Ansicht.
Mein Ziel ist es, die Anzeige von Daten aus mehreren Tabellen in einer einzigen MVC-Ansicht. Der Großteil der Daten stammt aus einer Tabelle aufgerufen, die Einzelhändler. Ich habe auch noch eine Tabelle namens RetailerCategories speichert die retailerid von den Einzelhändlern Tisch und auch eine Kategorie-Verlinkung zu einer Kategorie-Tabelle.
Beachten Sie, dass es mehrere Datensätze für jede retailerid in der RetailerCategories Tabelle.
In der view möchte ich zeigen, eine Liste der Händler und jeder Händler möchte ich zeigen, die Liste der Kategorien, die für Sie gelten.
Was wäre der beste Weg, dies zu erreichen? Einige der Dinge, die ich versucht haben, sind abgedeckt Können Sie helfen mit diesem MVC-ViewModel-Problem?
Dies jedoch scheint nicht der richtige Ansatz.
InformationsquelleAutor Cunners | 2010-11-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie eine view-Modell, das speziell auf die Bedürfnisse dieser Ansicht. Bei der Definition Ihrer Modelle anzeigen Sie sollten nicht denken in Bezug auf Tabellen. SQL-Tabellen haben absolut keine Bedeutung in einer Ansicht. Denke in Begriffen von dem, was Informationen, die Sie brauchen, um zu zeigen, und definieren Sie Ihre Modelle entsprechend. Dann könnten Sie AutoMapper konvertieren zwischen Ihrem realen Modellen und view-Modell, das Sie definiert haben.
Vergessen Sie also alles, was Sie sagte über Tabellen und konzentrieren Sie sich auf den folgenden Satz:
Dieser Satz ist eigentlich sehr gut, wie Sie erklärt genau, was Sie brauchen. Also, sobald Sie wissen, was Sie brauchen, gehen Sie vor und modelize:
Nun Sie dringend, geben Sie Ihre Ansicht zu
IEnumerable<RetailerViewModel>
. Von hier aus ist es easy-peasy zu tun, was Sie möchten, in der Ansicht:Ich hatte einen Blick auf Ihre ursprüngliche Frage. In dieser Frage, die Sie denken, dass Sie mit einem view-Modell, aber dies ist nicht der Fall. Kleben-Modelle als Eigenschaften Ihrer view-Modell ist nicht die Lösung. Ich meine, die Deklaration einer Klasse mit dem viewmodel-suffix und kleben alle Ihre Modelle im inneren ist nicht der richtige Ansatz, da Ihre Modelle nicht auf die Bedürfnisse der Ansicht. Vergessen Sie also Ihre Modelle, vergessen Sie SQL-Tabellen, überlegen, welche Informationen benötigt diese Ansicht und Modell dieser Klassen. Dass Sie auf dem richtigen Weg und AutoMapper, helfen Ihnen bei der Umstellung.
InformationsquelleAutor Darin Dimitrov
dies könnte auch hilfreich;
video von chris pels
InformationsquelleAutor tugberk
Es ist einfach nur das tun, was ich sage, Schritt für Schritt.
Verbindung hinzufügen Zeichenfolge in
web.config
Dateiwählen Sie Modelle, die Sie vom Projektmappen-explorer, und fügen Sie die 4 Klassen wie folgt
1. Klasse für die erste Tabelle "habe ich beschäftigen Tabelle, die 3 Spalten
public class Beschäftigen
{
[Key]
public int Emp_id { get; set; }
public string Emp_name { get; set; }
public string Emp_city { get; set; }
}
2. Klasse für mein tempo, Tabelle
public class tempo
{
[Key]
public int ID { get; set; }
public int Emp_Id { get; set; }
public string subject { get; set; }
public string hobby { get; set; }
}
Nun erstelle ich eine Dritte Klasse in den Modell-Ordner, die Werte enthalten, möchte ich aus der Tabelle beschäftigen und tempo-Tabelle
und die Letzte Klasse ist der datacontext-Klasse
nun gehen Sie auf die Home-controller, und fügen Sie code wie unten
nun der Letzte Schritt ist so einfach
Nun sind Sie fertig
Happy coding...
InformationsquelleAutor Aakash jalodkar