Freigeben über


Teil 1: Übersicht und Erstellen des Projekts

von Rick Anderson

Abgeschlossenes Projekt herunterladen

Entity Framework ist ein Objekt-/relationales Zuordnungsframework. Sie ordnet die Domänenobjekte in Ihrem Code Entitäten in einer relationalen Datenbank zu. In den meisten Fällen müssen Sie sich keine Gedanken über die Datenbankebene machen, da Entity Framework sie für Sie übernimmt. Ihr Code bearbeitet die Objekte, und Änderungen werden in einer Datenbank beibehalten.

Informationen zum Lernprogramm

In diesem Lernprogramm erstellen Sie eine einfache Store-Anwendung. Es gibt zwei Hauptteile für die Anwendung. Normale Benutzer können Produkte anzeigen und Bestellungen erstellen:

Screenshot einer normalen Benutzeransicht einer einfachen Store-Anwendung.

Administratoren können Produkte erstellen, löschen oder bearbeiten:

Screenshot einer Administratoransicht einer einfachen Store-Anwendung.

Fähigkeiten, die Sie lernen

Folgendes können Sie lernen:

  • Verwenden von Entity Framework mit ASP.NET Web-API
  • Verwenden von knockout.js zum Erstellen einer dynamischen Client-UI
  • Verwenden der Formularauthentifizierung mit der Web-API zum Authentifizieren von Benutzern.

Obwohl dieses Lernprogramm eigenständig ist, sollten Sie zuerst die folgenden Lernprogramme lesen:

Einige Kenntnisse über ASP.NET MVC sind ebenfalls hilfreich.

Übersicht

Auf hoher Ebene ist hier die Architektur der Anwendung:

  • ASP.NET MVC generiert die HTML-Seiten für den Client.
  • ASP.NET Web-API macht CRUD-Vorgänge für die Daten (Produkte und Bestellungen) verfügbar.
  • Entity Framework übersetzt die von der Web-API verwendeten C#-Modelle in Datenbankentitäten.

Diagramm einer Webanwendung mit Entity Framework.

Das folgende Diagramm zeigt, wie die Domänenobjekte auf verschiedenen Ebenen der Anwendung dargestellt werden: Die Datenbankebene, das Objektmodell und schließlich das Drahtformat, das zum Übertragen von Daten an den Client über HTTP verwendet wird.

Diagramm mit der Datenbankebene, die mit dem Objektmodell durch Entity Framework verbunden ist. Das Objektmodell ist über eine Web-API mit dem Drahtformat verbunden.

Erstellen des Visual Studio-Projekts

Sie können das Lernprogrammprojekt entweder mit Visual Web Developer Express oder der Vollversion von Visual Studio erstellen.

Klicken Sie auf der Startseite auf "Neues Projekt".

Wählen Sie im Bereich "Vorlagen " die Option "Installierte Vorlagen " aus, und erweitern Sie den Knoten "Visual C# ". Wählen Sie unter Visual C#"Web" aus. Wählen Sie in der Liste der Projektvorlagen ASP.NET MVC 4-Webanwendung aus. Nennen Sie das Projekt "ProductStore", und klicken Sie auf "OK".

Screenshot des neuen Visual Studio-Projektbildschirms. Eine S P dot net M V C 4-Webanwendung ist hervorgehoben.

Wählen Sie im Dialogfeld " Neues ASP.NET MVC 4-Projekt " die Option "Internetanwendung " aus, und klicken Sie auf "OK".

Screenshot des Visual Studio neuen A P P Dot net M V C 4-Projektbildschirms. Die Internetanwendungsvorlage ist hervorgehoben.

Die Vorlage "Internetanwendung" erstellt eine ASP.NET MVC-Anwendung, die die Formularauthentifizierung unterstützt. Wenn Sie die Anwendung jetzt ausführen, verfügt sie bereits über einige Features:

  • Neue Benutzer können sich registrieren, indem Sie in der oberen rechten Ecke auf den Link "Registrieren" klicken.
  • Registrierte Benutzer können sich anmelden, indem Sie auf den Link "Anmelden" klicken.

Mitgliedschaftsinformationen werden in einer Datenbank gespeichert, die automatisch erstellt wird. Weitere Informationen zur Formularauthentifizierung in ASP.NET MVC finden Sie unter Walkthrough: Using Forms Authentication in ASP.NET MVC.

Aktualisieren der CSS-Datei

Dieser Schritt ist kosmetisch, aber er bewirkt, dass die Seiten wie die vorherigen Screenshots gerendert werden.

Erweitern Sie im Projektmappen-Explorer den Ordner "Inhalt", und öffnen Sie die Datei mit dem Namen Site.css. Fügen Sie die folgenden CSS-Formatvorlagen hinzu:

.content {
    clear: both;
    width: 90%;
}

li {
    list-style-type: none;
}
        
#products li {
    width: 300px;
    background-color: #aaf;
    font-size: 1.5em;
    font-weight: bold;
    color: #ff0;
    margin: 0 0 5px 0;
    padding: 0 5px 0 5px;
}
        
.price  {
    float: right;
    color: #c00;
    font-size: 0.75em;
}
        
.details thead td {
    background-color: #CCCCCC;
    color: #333333;
}

.details td {
padding: 6px;
}
        
.details td.qty {
text-align: center;
}       
        
#cart a {
color: Blue;
font-size: .75em;
} 
        
#update-products li { 
    padding: 5px; 
    color: #666;
    border-style: dashed;
    border-width: 2px;
    border-color: #666;
}

#update-products li .item {
width: 120px;
display: inline-block;
text-align: right;
}