Freigeben über


Hinzufügen eines Modells (2012)

von Rick Anderson

Hinweis

Hier finden Sie eine aktualisierte Version dieses Tutorials, die ASP.NET MVC 5 und Visual Studio 2013 verwendet. Es ist sicherer, viel einfacher zu befolgen und zeigt mehr Features.

In diesem Abschnitt fügen Sie einige Klassen zum Verwalten von Filmen in einer Datenbank hinzu. Diese Klassen sind der "Modell"-Teil der ASP.NET MVC-Anwendung.

Sie verwenden eine .NET Framework Datenzugriffstechnologie, die als Entity Framework bezeichnet wird, um diese Modellklassen zu definieren und mit ihnen zu arbeiten. Das Entity Framework (häufig als EF bezeichnet) unterstützt ein Entwicklungsparadigma namens Code First. Mit Code First können Sie Modellobjekte erstellen, indem Sie einfache Klassen schreiben. (Diese werden auch als POCO-Klassen bezeichnet, aus "einfachen alten CLR-Objekten".) Anschließend können Sie die Datenbank über Ihre Klassen erstellen lassen, was einen sehr sauber und schnellen Entwicklungsworkflow ermöglicht.

Hinzufügen von Modellklassen

Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf den Ordner Modelle, wählen Sie Hinzufügen und dann Klasse aus.

Screenshot des fensters Projektmappen-Explorer Hinzufügen ist im Menü Modelle mit der rechten Maustaste ausgewählt, und Klasse ist im Untermenü ausgewählt.

Geben Sie den Klassennamen "Movie" ein.

Fügen Sie der -Klasse die folgenden fünf Eigenschaften hinzu Movie :

public class Movie 
{
    public int ID { get; set; }
    public string Title { get; set; }
    public DateTime ReleaseDate { get; set; }
    public string Genre { get; set; }
    public decimal Price { get; set; }
}

Wir verwenden die Movie -Klasse, um Filme in einer Datenbank darzustellen. Jede instance eines Movie Objekts entspricht einer Zeile in einer Datenbanktabelle, und jede Eigenschaft der Movie Klasse wird einer Spalte in der Tabelle zugeordnet.

Fügen Sie in derselben Datei die folgende MovieDBContext Klasse hinzu:

public class MovieDBContext : DbContext 
{
    public DbSet<Movie> Movies { get; set; } 
}

Die MovieDBContext -Klasse stellt den Entity Framework-Filmdatenbankkontext dar, der das Abrufen, Speichern und Aktualisieren von Movie Klasseninstanzen in einer Datenbank behandelt. Das MovieDBContext leitet sich von der DbContext Basisklasse ab, die vom Entity Framework bereitgestellt wird.

Um auf und DbSetverweisen DbContext zu können, müssen Sie die folgende using Anweisung am Anfang der Datei hinzufügen:

using System.Data.Entity;

Die vollständige Movie.cs-Datei ist unten dargestellt. (Mehrere using-Anweisungen, die nicht benötigt werden, wurden entfernt.)

using System;
using System.Data.Entity;

namespace MvcMovie.Models
{
    public class Movie
    {
        public int ID { get; set; }
        public string Title { get; set; }        
        public DateTime ReleaseDate { get; set; }        
        public string Genre { get; set; }
        public decimal Price { get; set; }
    }

    public class MovieDBContext : DbContext
    {
        public DbSet<Movie> Movies { get; set; }
    }
}

Erstellen einer Verbindungszeichenfolge und Arbeiten mit SQL Server LocalDB

Die MovieDBContext von Ihnen erstellte Klasse übernimmt die Aufgabe, eine Verbindung mit der Datenbank herzustellen und Objekte Datenbankdatensätzen zuzuordnen Movie . Eine Frage, die Sie sich stellen können, ist jedoch, wie Sie angeben, mit welcher Datenbank eine Verbindung hergestellt werden soll. Dazu fügen Sie Verbindungsinformationen in der Web.config-Datei der Anwendung hinzu.

Öffnen Sie die Web.config-Datei der Anwendung. (Nicht die Web.config Datei im Ordner Ansichten .) Öffnen Sie die rot umrissene dateiWeb.config .

Screenshot des fensters Projektmappen-Explorer Die Webpunktkonfiguration ist rot eingekreist.

Fügen Sie dem Element in der Web.config-Datei die <connectionStrings> folgende Verbindungszeichenfolge hinzu.

<add name="MovieDBContext" 
   connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" 
   providerName="System.Data.SqlClient" 
/>

Das folgende Beispiel zeigt einen Teil der Web.config-Datei mit der hinzugefügten neuen Verbindungszeichenfolge:

<connectionStrings>
  <add name="DefaultConnection" 
       connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-MvcMovie-2012213181139;Integrated Security=true" 
       providerName="System.Data.SqlClient" 
  />    
  <add name="MovieDBContext" 
       connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" 
       providerName="System.Data.SqlClient" 
  /> 
</connectionStrings>

Diese kleine Menge an Code und XML ist alles, was Sie schreiben müssen, um die Filmdaten darzustellen und in einer Datenbank zu speichern.

Als Nächstes erstellen Sie eine neue MoviesController Klasse, mit der Sie die Filmdaten anzeigen und Benutzern das Erstellen neuer Filmauflistungen ermöglichen können.