Freigeben über


Hinzufügen eines Modells (C#)

von Rick Anderson

In diesem Lernprogramm lernen Sie die Grundlagen zum Erstellen einer ASP.NET MVC-Webanwendung mithilfe von Microsoft Visual Web Developer 2010 Express Service Pack 1, einer kostenlosen Version von Microsoft Visual Studio. Bevor Sie beginnen, stellen Sie sicher, dass Sie die unten aufgeführten Voraussetzungen installiert haben. Sie können alle installieren, indem Sie auf den folgenden Link klicken: Web Platform Installer. Alternativ können Sie die erforderlichen Komponenten mit den folgenden Links einzeln installieren:

Wenn Sie Visual Studio 2010 anstelle von Visual Web Developer 2010 verwenden, installieren Sie die erforderlichen Komponenten, indem Sie auf den folgenden Link klicken: Visual Studio 2010-Voraussetzungen.

Für dieses Thema steht ein Visual Web Developer-Projekt mit C#-Quellcode zur Verfügung. Laden Sie die C#-Version herunter. Wenn Sie Visual Basic bevorzugen, wechseln Sie zu der Visual Basic-Version dieses Lernprogramms.

Hinzufügen eines Modells

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 zu verwenden. 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 "nur alte CLR-Objekte".) Sie können dann die Datenbank direkt aus Ihren Klassen erstellen lassen, was einen sehr sauberen 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

Nennen Sie die Klasse "Movie".

CreateMovieClass

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

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 Instanz 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 Kontext der Entity Framework-Filmdatenbank dar, der das Abrufen, Speichern und Aktualisieren Movie von Klasseninstanzen in einer Datenbank behandelt. Die MovieDBContext abgeleitet von der DbContext Basisklasse, die vom Entity Framework bereitgestellt wird. Weitere Informationen und DbContext DbSetweitere Informationen finden Sie unter Produktivitätsverbesserungen für das Entity Framework.

Um auf die Datei verweisen DbContext zu können, DbSetmüssen Sie oben in der Datei die folgende using Anweisung hinzufügen:

using System.Data.Entity;

Die vollständige Movie.cs Datei wird unten angezeigt.

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 Compact

Die MovieDBContext von Ihnen erstellte Klasse behandelt die Aufgabe, eine Verbindung mit der Datenbank herzustellen und Objekte Datenbankdatensätzen zuzuordnen Movie . Eine Frage, die Sie möglicherweise stellen, ist jedoch, wie Sie angeben, mit welcher Datenbank eine Verbindung hergestellt wird. Dazu fügen Sie verbindungsinformationen in der Datei "Web.config " der Anwendung hinzu.

Öffnen Sie die Datei "Web.config" der Anwendung. (Nicht die Datei "Web.config" im Ordner "Ansichten ".) Die folgende Abbildung zeigt beide Web.config-Dateien . Öffnen Sie die Datei "Web.config ", die rot eingekreist ist.

Screenshot des fensters

Fügen Sie dem Element in der Datei "Web.config" den <connectionStrings> folgenden Verbindungszeichenfolge hinzu.

<add name="MovieDBContext" 
         connectionString="Data Source=|DataDirectory|Movies.sdf" 
         providerName="System.Data.SqlServerCe.4.0"/>

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

<configuration>
  <connectionStrings>
    <add name="MovieDBContext" 
         connectionString="Data Source=|DataDirectory|Movies.sdf" 
         providerName="System.Data.SqlServerCe.4.0"/>
    <add name="ApplicationServices"
         connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
         providerName="System.Data.SqlClient" />
  </connectionStrings>

Diese kleine Menge an Code und XML ist alles, was Sie schreiben müssen, um die Filmdaten in einer Datenbank darzustellen und 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.