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.
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 DbSet
verweisen 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 .
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.