Freigeben über


Hinzufügen eines Modells (C#)

von Rick Anderson

In diesem Tutorial lernen Sie die Grundlagen des Erstellens einer ASP.NET MVC-Webanwendung mit 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: Webplattform-Installer. Alternativ können Sie die erforderlichen Komponenten einzeln über die folgenden Links 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: Voraussetzungen für Visual Studio 2010.

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 zur Visual Basic-Version dieses Tutorials.

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 damit zu arbeiten. Das Entity Framework (oft 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 von "einfachen CLR-Objekten" bezeichnet.) Sie können die Datenbank dann direkt aus Ihren 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 Models, wählen Sie Hinzufügen und dann Klasse aus.

Screenshot: Fenster

Nennen Sie die Klasse "Movie".

CreateMovieClass

Fügen Sie der -Klasse die Movie 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 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. Die MovieDBContext wird von der DbContext Basisklasse abgeleitet, die vom Entity Framework bereitgestellt wird. Weitere Informationen zu DbContext und DbSetfinden Sie unter Produktivitätsverbesserungen für Entity Framework.

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 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 übernimmt die Aufgabe, eine Verbindung mit der Datenbank herzustellen und Objekte zu Datenbankdatensätzen zuzuordnen Movie . Eine Frage, die Sie sich stellen können, ist jedoch, wie Sie angeben, mit welcher Datenbank eine Verbindung hergestellt wird. Dazu fügen Sie verbindungsinformationen in der Web.config-Datei der Anwendung hinzu.

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

Screenshot: Fenster

Fügen Sie dem Element in der Web.config-Datei die <connectionStrings> folgende 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 , in der die neue Verbindungszeichenfolge hinzugefügt wurde:

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