3 Stimmen

Möchten Sie Daten aus zwei verschiedenen Sql-Tabellen in mvc anzeigen

Wie kann ich Daten aus zwei Tabellen in meiner SQL-Datenbank in der Ansicht anzeigen...?

Bitte um Hilfe.

  1. Tabelle ist Profil
  2. Tabelle ist Unternehmen

Ich möchte zwei verschiedene Tabellen in meiner Ansicht, um diese Daten aus der Datenbank anzuzeigen!

Ich habe im Internet gesucht, aber ich konnte nichts finden, was mein Problem löst. Bitte helfen Sie.

Ich habe kein Problem mit einer Tabelle in meiner Ansicht.

public ActionResult Profiler()
{
    using (var dc = new Models.DataDataContext()) // Opretter objekt af model(Databasen)
    {
        return View(dc.Profils.OrderByDescending(a => a.Nu).ToList()); // Returner en liste med tabellets indhold
    }
}

Dadurch erhalte ich eine Tabelle mit Daten aus meiner Datenbank in meiner Ansicht. Aber ich will meine zweite Tabelle auch.

1voto

jgauffin Punkte 97446

Laden Sie Informationen aus beiden Tabellen und erstellen Sie ein abgeflachtes Ansichtsmodell, das die entsprechenden Informationen aus beiden Tabellen enthält:

public ActionResult Details(int id)
{
    var profile = _profileRepos.Get(id);
    var company = _companyRepos.Get(profile.CompanyId);
    var model = new DetailsModel {
        CompanyName = company.Name,
        UserName = profile.FullName
    };
    return View(model);
}

1voto

Nick Bork Punkte 4831

Was Sie erreichen wollen, wird als "View Model" bezeichnet, weil das Modell, das Sie an Ihre Views senden, sich von dem Modell in Ihrer Datenbank unterscheidet. Oft werden Sie feststellen, dass Sie eine Ansicht für die Benutzeroberfläche erstellen müssen, die nicht genau mit der Datenbank übereinstimmt.

jgauffin zeigt ein "DetailsModel", das zwei Datenbankentitäten kombiniert. Das ist so einfach, wie eine Klasse zu erstellen und ihr zwei Eigenschaften zu geben, CompanyName und Username. Was in seinem Code fehlt, ist der Code für die Klasse "DetailsModel". Anstatt zwei Entitäten zu übergeben, erstellen Sie eine einzige Entität, die alle benötigten Eigenschaften besitzt.

Surjit hat auch eine Methode, um dies zu tun, ohne die Verwendung eines separaten View Model Klasse durch die Verwendung eines Tupel.

Sie müssen Ihre Ansicht ändern, um entweder das Tupel oder Ihr neues Ansichtsmodell zu akzeptieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X