Entity Framework - Ansichten

Eine Ansicht ist ein Objekt, das Daten enthält, die durch eine vordefinierte Abfrage erhalten wurden. Eine Ansicht ist ein virtuelles Objekt oder eine Tabelle, deren Ergebnismenge aus einer Abfrage abgeleitet wird. Es ist einer realen Tabelle sehr ähnlich, da es Spalten und Zeilen von Daten enthält. Im Folgenden sind einige typische Verwendungszwecke von Ansichten aufgeführt:

  • Filtern Sie Daten der zugrunde liegenden Tabellen
  • Filtern Sie Daten aus Sicherheitsgründen
  • Zentralisieren Sie Daten, die auf mehrere Server verteilt sind
  • Erstellen Sie einen wiederverwendbaren Datensatz

Ansichten können auf ähnliche Weise wie Tabellen verwendet werden. Um view als Entität zu verwenden, müssen Sie zuerst Datenbankansichten zu EDM hinzufügen. Nachdem Sie Ihrem Modell Ansichten hinzugefügt haben, können Sie damit wie mit normalen Entitäten arbeiten, mit Ausnahme der Vorgänge Erstellen, Aktualisieren und Löschen.

Lassen Sie uns einen Blick darauf werfen, wie Sie dem Modell Ansichten aus der Datenbank hinzufügen.

Step 1 - Erstellen Sie ein neues Konsolenanwendungsprojekt.

Step 2 - Klicken Sie im Solution Explorer mit der rechten Maustaste auf das Projekt und wählen Sie Hinzufügen → Neues Element.

Step 3 - Wählen Sie im mittleren Bereich ADO.NET-Entitätsdatenmodell aus und geben Sie den Namen ViewModel in das Feld Name ein.

Step 4 - Klicken Sie auf die Schaltfläche Hinzufügen, um das Dialogfeld Assistent für Entitätsdatenmodelle zu öffnen.

Step 5 - Wählen Sie EF Designer aus der Datenbank aus und klicken Sie auf Weiter.

Step 6 - Wählen Sie die vorhandene Datenbank aus und klicken Sie auf Weiter.

Step 7 - Wählen Sie Entity Framework 6.x und klicken Sie auf Weiter.

Step 8 - Wählen Sie Tabellen und Ansichten aus Ihrer Datenbank aus und klicken Sie auf Fertig stellen.

Sie können im Designerfenster sehen, dass eine Ansicht erstellt wurde, und Sie können sie im Programm als Entität verwenden.

Im Lösungs-Explorer können Sie sehen, dass die MyView-Klasse auch aus der Datenbank generiert wird.

Nehmen wir ein Beispiel, in dem alle Daten aus der Ansicht abgerufen werden. Es folgt der Code -

class Program {

   static void Main(string[] args) {

      using (var db = new UniContextEntities()) {

         var query = from b in db.MyViews
            orderby b.FirstMidName select b;

         Console.WriteLine("All student in the database:");

         foreach (var item in query) {
            Console.WriteLine(item.FirstMidName + " " + item.LastName);
         }

         Console.WriteLine("Press any key to exit...");
         Console.ReadKey();
      }
   }
}

Wenn der obige Code ausgeführt wird, erhalten Sie die folgende Ausgabe:

All student in the database:
Ali Khan
Arturo   finand
Bill Gates
Carson Alexander
Gytis Barzdukas
Laura Norman
Meredith Alonso
Nino Olivetto
Peggy Justice
Yan Li
Press any key to exit...

Wir empfehlen Ihnen, das obige Beispiel zum besseren Verständnis Schritt für Schritt auszuführen.