Freigeben über


ASP.NET MVC 4 – Modelle und Datenzugriff

Nach Web Camps Team

Download Web Camps Training Kit

In diesem praktischen Übungslabor wird davon ausgegangen, dass Sie grundlegende Kenntnisse über ASP.NET MVC haben. Wenn Sie ASP.NET MVC noch nicht verwendet haben, empfehlen wir Ihnen, ASP.NET MVC 4 Fundamentals Hands-on Lab zu durchlaufen.

Diese Übung führt Sie durch die Verbesserungen und neuen Features, die zuvor beschrieben wurden, indem kleinere Änderungen auf eine Beispielwebanwendung angewendet werden, die im Quellordner bereitgestellt wird.

Hinweis

Alle Beispielcode und Codeausschnitte sind im Web Camps Training Kit enthalten, verfügbar unter Microsoft-Web/WebCampTrainingKit Releases. Das für dieses Lab spezifische Projekt ist unter ASP.NET MVC 4-Modelle und -Datenzugriff verfügbar.

In ASP.NET MVC Fundamentals Hands-on Lab haben Sie hartcodierte Daten von den Controllern an die Ansichtsvorlagen übergeben. Um jedoch eine echte Webanwendung zu erstellen, möchten Sie vielleicht eine echte Datenbank verwenden.

In dieser praktischen Übung erfahren Sie, wie Sie ein Datenbankmodul verwenden, um die für die Music Store-Anwendung erforderlichen Daten zu speichern und abzurufen. Dazu beginnen Sie mit einer vorhandenen Datenbank und erstellen das Entitätsdatenmodell daraus. In dieser Übung treffen Sie den Ansatz "Database First " sowie den Code First-Ansatz .

Sie können jedoch auch den Modell first-Ansatz verwenden, dasselbe Modell mit den Tools erstellen und dann die Datenbank daraus generieren.

Datenbank first vs. Model First

Datenbank first vs. Model First

Nach dem Generieren des Modells nehmen Sie die richtigen Anpassungen im StoreController vor, um die Store-Ansichten mit den Daten aus der Datenbank bereitzustellen, anstatt hartcodierte Daten zu verwenden. Sie müssen keine Änderungen an den Ansichtsvorlagen vornehmen, da der StoreController dieselben ViewModels an die Ansichtsvorlagen zurückgibt, obwohl die Daten diesmal aus der Datenbank stammen.

Der erste Codeansatz

Mit dem Code First-Ansatz können wir das Modell aus dem Code definieren, ohne Klassen zu generieren, die im Allgemeinen mit dem Framework gekoppelt sind.

Im Code zuerst werden Modellobjekte mit POCOs definiert, "Einfache alte CLR-Objekte". POCOs sind einfache einfache Klassen, die keine Vererbung aufweisen und keine Schnittstellen implementieren. Wir können die Datenbank automatisch daraus generieren, oder wir können eine vorhandene Datenbank verwenden und die Klassenzuordnung aus dem Code generieren.

Der Vorteil dieser Vorgehensweise besteht darin, dass das Modell vom Persistenzframework (in diesem Fall Entity Framework) unabhängig bleibt, da die POCOs-Klassen nicht mit dem Zuordnungsframework gekoppelt sind.

Hinweis

Dieses Lab basiert auf ASP.NET MVC 4 und einer Version der Music Store-Beispielanwendung angepasst und minimiert, um nur die in diesem Hands-On Lab gezeigten Features anzupassen.

Wenn Sie die gesamte Lernprogrammanwendung für den Music Store erkunden möchten, finden Sie sie im MVC-Music-Store.

Voraussetzungen

Sie müssen über die folgenden Elemente verfügen, um diese Übung abzuschließen:

Setup

Installieren von Codeausschnitten

Aus Gründen der Einfachheit ist ein Großteil des Codes, den Sie entlang dieser Übung verwalten, als Visual Studio-Codeausschnitte verfügbar. Führen Sie zum Installieren der Codeausschnitte die Datei ".\Source\Setup\CodeSnippets.vsi " aus.

Wenn Sie mit den Visual Studio Code Snippets nicht vertraut sind und erfahren möchten, wie sie verwendet werden können, finden Sie in diesem Dokument den Anhang "Anhang C: Verwenden von Codeausschnitten".


Übungen

Dieses Praktische Labor besteht aus den folgenden Übungen:

  1. Übung 1: Hinzufügen einer Datenbank
  2. Übung 2: Erstellen einer Datenbank mithilfe von Code zuerst
  3. Übung 3: Abfragen der Datenbank mit Parametern

Hinweis

Jede Übung wird von einem Endordner begleitet, der die resultierende Lösung enthält, die Sie nach Abschluss der Übungen erhalten sollten. Sie können diese Lösung als Leitfaden verwenden, wenn Sie zusätzliche Hilfe beim Durcharbeiten der Übungen benötigen.

Geschätzte Zeit zum Abschließen dieser Übung: 35 Minuten.

Übung 1: Hinzufügen einer Datenbank

In dieser Übung erfahren Sie, wie Sie der Lösung eine Datenbank mit den Tabellen der MusicStore-Anwendung hinzufügen, um ihre Daten zu nutzen. Nachdem die Datenbank mit dem Modell generiert und der Lösung hinzugefügt wurde, ändern Sie die StoreController-Klasse, um die Ansichtsvorlage mit den Daten aus der Datenbank bereitzustellen, anstatt hartcodierte Werte zu verwenden.

Aufgabe 1 – Hinzufügen einer Datenbank

In dieser Aufgabe fügen Sie der Lösung eine bereits erstellte Datenbank mit den Haupttabellen der MusicStore-Anwendung hinzu.

  1. Öffnen Sie die Begin-Lösung unter Source/Ex1-AddingADatabaseDBFirst/Begin/ Folder.

    1. Sie müssen einige fehlende NuGet-Pakete herunterladen, bevor Sie fortfahren. Klicken Sie hierzu auf das Menü "Projekt", und wählen Sie "NuGet-Pakete verwalten" aus.

    2. Klicken Sie im Dialogfeld "NuGet-Pakete verwalten" auf " Wiederherstellen ", um fehlende Pakete herunterzuladen.

    3. Erstellen Sie schließlich die Lösung, indem Sie auf "Buildlösung erstellen | " klicken.

      Hinweis

      Einer der Vorteile der Verwendung von NuGet besteht darin, dass Sie nicht alle Bibliotheken in Ihrem Projekt versenden müssen, wodurch die Projektgröße reduziert wird. Mit NuGet Power Tools können Sie alle erforderlichen Bibliotheken beim ersten Ausführen des Projekts herunterladen, indem Sie die Paketversionen in der Datei "Packages.config" angeben. Aus diesem Grund müssen Sie diese Schritte ausführen, nachdem Sie eine vorhandene Lösung aus dieser Übung geöffnet haben.

  2. Fügen Sie die MvcMusicStore-Datenbankdatei hinzu. In dieser praktischen Übung verwenden Sie eine bereits erstellte Datenbank namens MvcMusicStore.mdf. Klicken Sie dazu mit der rechten Maustaste auf App_Data Ordner, zeigen Sie auf "Hinzufügen" , und klicken Sie dann auf "Vorhandenes Element". Navigieren Sie zu \Source\Assets , und wählen Sie die MvcMusicStore.mdf Datei aus.

    Hinzufügen eines vorhandenen Elements

    Hinzufügen eines vorhandenen Elements

    MvcMusicStore.mdf Datenbankdatei

    MvcMusicStore.mdf Datenbankdatei

    Die Datenbank wurde dem Projekt hinzugefügt. Selbst wenn sich die Datenbank in der Lösung befindet, können Sie sie abfragen und aktualisieren, wie sie auf einem anderen Datenbankserver gehostet wurde.

    MvcMusicStore-Datenbank in Projektmappen-Explorer

    MvcMusicStore-Datenbank in Projektmappen-Explorer

  3. Überprüfen Sie die Verbindung mit der Datenbank. Doppelklicken Sie hierzu auf MvcMusicStore.mdf , um eine Verbindung herzustellen.

    Herstellen einer Verbindung mit MvcMusicStore.mdf

    Herstellen einer Verbindung mit MvcMusicStore.mdf

Aufgabe 2 – Erstellen eines Datenmodells

In dieser Aufgabe erstellen Sie ein Datenmodell, um mit der Datenbank zu interagieren, die in der vorherigen Aufgabe hinzugefügt wurde.

  1. Erstellen Sie ein Datenmodell, das die Datenbank darstellt. Klicken Sie dazu in Projektmappen-Explorer mit der rechten Maustaste auf den Ordner "Modelle", zeigen Sie auf "Hinzufügen", und klicken Sie dann auf "Neues Element". Wählen Sie im Dialogfeld "Neues Element hinzufügen" die Datenvorlage und dann das ADO.NET Entitätsdatenmodellelement aus. Ändern Sie den Namen des Datenmodells in "StoreDB.edmx ", und klicken Sie auf "Hinzufügen".

    Hinzufügen des StoreDB-ADO.NET Entitätsdatenmodells

    Hinzufügen des StoreDB-ADO.NET Entitätsdatenmodells

  2. Der Entitätsdatenmodell-Assistent wird angezeigt. Dieser Assistent führt Sie durch die Erstellung der Modellebene. Da das Modell basierend auf der bereits hinzugefügten Datenbank erstellt werden soll, wählen Sie "Aus Datenbank generieren" aus, und klicken Sie auf " Weiter".

    Auswählen des Modellinhalts

    Auswählen des Modellinhalts

  3. Da Sie ein Modell aus einer Datenbank generieren, müssen Sie die zu verwendende Verbindung angeben. Klicken Sie auf Neue Verbindung.

  4. Wählen Sie Microsoft SQL Server-Datenbankdatei aus, und klicken Sie auf "Weiter".

    Auswählen der Datenquelle

    Dialogfeld "Datenquelle auswählen"

  5. Klicken Sie auf " Durchsuchen ", und wählen Sie die Datenbank aus, MvcMusicStore.mdf Sie sich im Ordner "App_Data " befinden, und klicken Sie auf "OK".

    Verbindungseigenschaften

    Verbindungseigenschaften

  6. Die generierte Klasse sollte den gleichen Namen wie die Entität Verbindungszeichenfolge haben. Ändern Sie daher den Namen in "MusicStoreEntities", und klicken Sie auf "Weiter".

    Auswählen der Datenverbindung

    Auswählen der Datenverbindung

  7. Wählen Sie die zu verwendenden Datenbankobjekte aus. Wenn das Entitätsmodell nur die Tabellen der Datenbank verwendet, wählen Sie die Option "Tabellen " aus, und stellen Sie sicher, dass auch die Optionen für Fremdschlüssel in das Modell einschließen und die Optionen für generierte Objektnamen pluralisieren oder singularisieren ausgewählt sind. Ändern Sie den Modellnamespace in "MvcMusicStore.Model ", und klicken Sie auf " Fertig stellen".

    Auswählen der Datenbankobjekte

    Auswählen der Datenbankobjekte

    Hinweis

    Wenn ein Dialogfeld "Sicherheitswarnung" angezeigt wird, klicken Sie auf "OK ", um die Vorlage auszuführen und die Klassen für die Modellentitäten zu generieren.

  8. Ein Entitätsdiagramm für die Datenbank wird angezeigt, während eine separate Klasse, die jede Tabelle der Datenbank zuordnet, erstellt wird. Die Tabelle "Alben" wird beispielsweise durch eine Albumklasse dargestellt, wobei jede Spalte in der Tabelle einer Klasseneigenschaft zugeordnet wird. Auf diese Weise können Sie Objekte abfragen und mit Objekten arbeiten, die Zeilen in der Datenbank darstellen.

    Entitätsdiagramm

    Entitätsdiagramm

    Hinweis

    Die T4-Vorlagen (TT) führen Code aus, um die Entitätsklassen zu generieren, und überschreiben die vorhandenen Klassen mit demselben Namen. In diesem Beispiel wurden die Klassen "Album", "Genre" und "Artist" mit dem generierten Code überschrieben.

Aufgabe 3 – Erstellen der Anwendung

In dieser Aufgabe überprüfen Sie, dass das Projekt erfolgreich mithilfe der neuen Datenmodellklassen erstellt wird, obwohl die Modellgenerierung die Modellklassen Album, Genre und Künstler entfernt hat.

  1. Erstellen Sie das Projekt, indem Sie das Menüelement "Erstellen " und dann " MvcMusicStore erstellen" auswählen.

    Erstellen des Projekts

    Erstellen des Projekts

  2. Das Projekt wird erfolgreich erstellt. Warum funktioniert es noch? Es funktioniert, da die Datenbanktabellen Felder enthalten, die die Eigenschaften enthalten, die Sie in den entfernten Klassen Album und Genre verwendet haben.

    Builds erfolgreich

    Builds erfolgreich

  3. Während der Designer die Entitäten in einem Diagrammformat anzeigt, sind sie wirklich C#-Klassen. Erweitern Sie den Knoten "StoreDB.edmx" im Projektmappen-Explorer, und StoreDB.tt werden die neuen generierten Entitäten angezeigt.

    Generierte Dateien

    Generierte Dateien

Aufgabe 4 – Abfragen der Datenbank

In dieser Aufgabe aktualisieren Sie die StoreController-Klasse so, dass die Datenbank anstelle hartcodierter Daten abgefragt wird, um die Informationen abzurufen.

  1. Öffnen Sie Controller\StoreController.cs , und fügen Sie der Klasse das folgende Feld hinzu, um eine Instanz der MusicStoreEntities-Klasse mit dem Namen "storeDB" zu speichern:

    (Codeausschnitt - Modelle und Datenzugriff – Ex1 storeDB)

    public class StoreController : Controller
    {
        private MusicStoreEntities storeDB = new MusicStoreEntities();
    
  2. Die MusicStoreEntities-Klasse macht eine Auflistungseigenschaft für jede Tabelle in der Datenbank verfügbar. Aktualisieren Sie die Browse-Aktionsmethode , um ein Genre mit allen Alben abzurufen.

    (Codeausschnitt - Modelle und Datenzugriff – Ex1 Store-Browse)

    public ActionResult Browse(string genre)
    {
        // Retrieve Genre and its Associated Albums from database
        var genreModel = new Genre
        {
            Name = genre,
            Albums = this.storeDB.Albums.ToList()
        };
    
        return this.View(genreModel);
    }
    

    Hinweis

    Sie verwenden eine Funktion von .NET namens LINQ (sprachintegrierte Abfrage), um stark typierte Abfrageausdrücke für diese Auflistungen zu schreiben, die Code für die Datenbank ausführen und Objekte zurückgeben, für die Sie programmieren können.

    Weitere Informationen zu LINQ finden Sie auf der Msdn-Website.

  3. Aktualisieren Sie die Index-Aktionsmethode , um alle Genres abzurufen.

    (Codeausschnitt - Modelle und Datenzugriff – Ex1 Store-Index)

    public ActionResult Index()
    {
        var genres = this.storeDB.Genres;
    
        return this.View(genres);
    }
    
  4. Aktualisieren Sie die Index-Aktionsmethode , um alle Genres abzurufen und die Auflistung in eine Liste zu transformieren.

    (Codeausschnitt - Modelle und Datenzugriff - Ex1 Store GenreMenu)

    // GET: /Store/GenreMenu
    [ChildActionOnly]
    public ActionResult GenreMenu()
    {
        var genres = this.storeDB.Genres.Take(9).ToList();
    
        return this.PartialView(genres);
    }
    

Aufgabe 5 – Ausführen der Anwendung

In dieser Aufgabe überprüfen Sie, ob auf der Seite "Store-Index" nun die in der Datenbank gespeicherten Genres anstelle der hartcodierten angezeigt werden. Es ist nicht erforderlich, die Ansichtsvorlage zu ändern, da der StoreController dieselben Entitäten wie zuvor zurückgibt, obwohl die Daten diesmal aus der Datenbank stammen.

  1. Erstellen Sie die Lösung neu, und drücken Sie F5 , um die Anwendung auszuführen.

  2. Das Projekt beginnt auf der Startseite. Stellen Sie sicher, dass das Menü der Genres keine hartcodierte Liste mehr ist, und die Daten werden direkt aus der Datenbank abgerufen.

    Screenshot einer Musikgenre-Seite, auf der Sie das Menü

    Browsergenres aus der Datenbank

  3. Navigieren Sie nun zu einem beliebigen Genre, und überprüfen Sie, ob die Alben aus der Datenbank aufgefüllt werden.

    Screenshot einer Ansicht, in der Sie Alben aus der Datenbank durchsuchen können.

    Durchsuchen von Alben aus der Datenbank

Übung 2: Erstellen einer Datenbank mithilfe von Code zuerst

In dieser Übung erfahren Sie, wie Sie mit dem Code First-Ansatz eine Datenbank mit den Tabellen der MusicStore-Anwendung erstellen und wie Sie auf ihre Daten zugreifen.

Nachdem das Modell generiert wurde, ändern Sie den StoreController so, dass die Ansichtsvorlage die Aus der Datenbank entnommenen Daten bereitstellt, anstatt hartcodierte Werte zu verwenden.

Hinweis

Wenn Sie Übung 1 abgeschlossen haben und bereits mit dem Ansatz "Datenbank first" gearbeitet haben, erfahren Sie jetzt, wie Sie dieselben Ergebnisse mit einem anderen Prozess erhalten. Die Aufgaben, die mit Übung 1 gemeinsam sind, wurden markiert, um das Lesen zu vereinfachen. Wenn Sie Übung 1 noch nicht abgeschlossen haben, aber den Code First-Ansatz erlernen möchten, können Sie mit dieser Übung beginnen und eine vollständige Abdeckung des Themas erhalten.

Aufgabe 1 – Auffüllen von Beispieldaten

In dieser Aufgabe füllen Sie die Datenbank mit Beispieldaten auf, wenn sie zunächst mit Code-First erstellt wird.

  1. Öffnen Sie die Begin-Lösung im Ordner "Source/Ex2-CreatingADatabaseCodeFirst/Begin/Begin/ ". Andernfalls verwenden Sie möglicherweise die, die Sie durch Ausführen der vorherigen Übung erhalten haben.

    1. Wenn Sie die bereitgestellte Begin-Lösung geöffnet haben, müssen Sie einige fehlende NuGet-Pakete herunterladen, bevor Sie fortfahren. Klicken Sie hierzu auf das Menü "Projekt", und wählen Sie "NuGet-Pakete verwalten" aus.

    2. Klicken Sie im Dialogfeld "NuGet-Pakete verwalten" auf " Wiederherstellen ", um fehlende Pakete herunterzuladen.

    3. Erstellen Sie schließlich die Lösung, indem Sie auf "Buildlösung erstellen | " klicken.

      Hinweis

      Einer der Vorteile der Verwendung von NuGet besteht darin, dass Sie nicht alle Bibliotheken in Ihrem Projekt versenden müssen, wodurch die Projektgröße reduziert wird. Mit NuGet Power Tools können Sie alle erforderlichen Bibliotheken beim ersten Ausführen des Projekts herunterladen, indem Sie die Paketversionen in der Datei "Packages.config" angeben. Aus diesem Grund müssen Sie diese Schritte ausführen, nachdem Sie eine vorhandene Lösung aus dieser Übung geöffnet haben.

  2. Fügen Sie die SampleData.cs Datei zum Ordner "Models" hinzu. Klicken Sie dazu mit der rechten Maustaste auf den Ordner "Modelle ", zeigen Sie auf "Hinzufügen" , und klicken Sie dann auf "Vorhandenes Element". Navigieren Sie zu \Source\Assets , und wählen Sie die SampleData.cs Datei aus.

    Beispieldaten füllen Code auf

    Beispieldaten füllen Code auf

  3. Öffnen Sie die datei Global.asax.cs , und fügen Sie die folgenden using-Anweisungen hinzu.

    (Codeausschnitt - Modelle und Datenzugriff – Ex2 Global Asax Usings)

    using MvcMusicStore.Models;
    using System.Data.Entity;
    
  4. Fügen Sie in der methode Application_Start() die folgende Zeile hinzu, um den Datenbankinitialisierer festzulegen.

    (Codeausschnitt - Modelle und Datenzugriff – Ex2 Global Asax SetInitializer)

    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();
    
        WebApiConfig.Register(GlobalConfiguration.Configuration);
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);
    
        Database.SetInitializer(new SampleData());
    }
    

Aufgabe 2 : Konfigurieren der Verbindung mit der Datenbank

Nachdem Sie dem Projekt bereits eine Datenbank hinzugefügt haben, schreiben Sie die Verbindungszeichenfolge in die Datei "Web.config".

  1. Fügen Sie eine Verbindungszeichenfolge unter Web.config hinzu. Öffnen Sie dazu "Web.config" im Projektstamm, und ersetzen Sie die Verbindungszeichenfolge "DefaultConnection" durch diese Zeile im <Abschnitt "connectionStrings>":

    Speicherort der Web.config-Datei

    Speicherort der Web.config-Datei

    <configuration>
    ...
      <connectionStrings>
        <add name="MusicStoreEntities" connectionString="data source=(LocalDb)\v11.0;initial catalog=MvcMusicStore;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\MvcMusicStore.mdf" providerName="System.Data.SqlClient" />
      </connectionStrings>
    ...
    

Aufgabe 3 – Arbeiten mit dem Modell

Nachdem Sie die Verbindung mit der Datenbank bereits konfiguriert haben, verknüpfen Sie das Modell mit den Datenbanktabellen. In dieser Aufgabe erstellen Sie eine Klasse, die mit der Datenbank mit Code First verknüpft wird. Denken Sie daran, dass es eine vorhandene POCO-Modellklasse gibt, die geändert werden soll.

Hinweis

Wenn Sie Übung 1 abgeschlossen haben, werden Sie feststellen, dass dieser Schritt von einem Assistenten ausgeführt wurde. Indem Sie Code First ausführen, erstellen Sie manuell Klassen, die mit Datenentitäten verknüpft werden.

  1. Öffnen Sie die POCO-Modellklasse Genre aus dem Projektordner "Models ", und fügen Sie eine ID ein. Verwenden Sie eine Int-Eigenschaft mit dem Namen GenreId.

    (Codeausschnitt - Modelle und Datenzugriff - Ex2 Code First Genre)

    namespace MvcMusicStore.Models
    {
        using System.Collections.Generic;
    
        public class Genre
        {
          public int GenreId { get; set; }
    
          public string Name { get; set; }
    
          public string Description { get; set; }
    
          public List<Album> Albums { get; set; }
        }
    }
    

    Hinweis

    Um mit Code First-Konventionen zu arbeiten, muss die Klasse Genre über eine Primärschlüsseleigenschaft verfügen, die automatisch erkannt wird.

    Weitere Informationen zu Code First Conventions finden Sie in diesem Msdn-Artikel.

  2. Öffnen Sie nun das POCO-Modellklassenalbum aus dem Projektordner "Models", und schließen Sie die Fremdschlüssel ein, erstellen Sie Eigenschaften mit den Namen GenreId und ArtistId. Diese Klasse verfügt bereits über die GenreId für den Primärschlüssel.

    (Codeausschnitt - Modelle und Datenzugriff - Ex2 Code First Album)

    namespace MvcMusicStore.Models
    {
        public class Album
        {
            public int AlbumId { get; set; }
    
            public int GenreId { get; set; }
    
            public int ArtistId { get; set; }
    
            public string Title { get; set; }
    
            public decimal Price { get; set; }
    
            public string AlbumArtUrl { get; set; }
    
            public virtual Genre Genre { get; set; }
    
            public virtual Artist Artist { get; set; }
        }
    }
    
  3. Öffnen Sie die POCO-Modellklasse Artist , und schließen Sie die ArtistId-Eigenschaft ein.

    (Codeausschnitt - Modelle und Datenzugriff - Ex2 Code First Artist)

    namespace MvcMusicStore.Models
    {
        public class Artist
        {
            public int ArtistId { get; set; }
    
            public string Name { get; set; }
        }
    }
    
  4. Klicken Sie mit der rechten Maustaste auf den Projektordner "Modelle ", und wählen Sie "Hinzufügen" | aus . Klasse. Benennen Sie die Datei MusicStoreEntities.cs. Klicken Sie anschließend auf Hinzufügen.

    Hinzufügen einer Klasse

    Hinzufügen eines neuen Elements

    Hinzufügen einer Klasse2

    Hinzufügen einer Klasse

  5. Öffnen Sie die gerade erstellte Klasse, MusicStoreEntities.cs, und schließen Sie die Namespaces System.Data.Entity und System.Data.Entity.Infrastructure ein.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Data.Entity;
    using System.Data.Entity.Infrastructure;
    ...
    
  6. Ersetzen Sie die Klassendeklaration, um die DbContext-Klasse zu erweitern: deklarieren Sie ein öffentliches DBSet und überschreiben Sie die OnModelCreating-Methode . Nach diesem Schritt erhalten Sie eine Domänenklasse, die Ihr Modell mit dem Entity Framework verknüpft. Ersetzen Sie dazu den Klassencode durch Folgendes:

    (Codeausschnitt - Modelle und Datenzugriff - Ex2 Code First MusicStoreEntities)

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Data.Entity;
    using System.Data.Entity.Infrastructure;
    
    namespace MvcMusicStore.Models
    {
        public class MusicStoreEntities : DbContext
        {
            public DbSet<Genre> Genres { get; set; }
    
            public DbSet<Album> Albums { get; set; }
    
            public DbSet<Artist> Artists { get; set; }
    
            protected override void OnModelCreating(DbModelBuilder modelBuilder)
            {
                modelBuilder.Entity<Genre>().ToTable("Genres");
                modelBuilder.Entity<Album>().ToTable("Albums");
                modelBuilder.Entity<Artist>().ToTable("Artists");
    
                base.OnModelCreating(modelBuilder);
            }
        }
    }
    

Hinweis

Mit Entity Framework DbContext und DBSet können Sie die POCO-Klasse Genre abfragen. Durch die Erweiterung der OnModelCreating-Methode geben Sie im Code an, wie Genre einer Datenbanktabelle zugeordnet wird. Weitere Informationen zu DBContext und DBSet finden Sie in diesem Msdn-Artikel: Link

Aufgabe 4 – Abfragen der Datenbank

In dieser Aufgabe aktualisieren Sie die StoreController-Klasse, sodass sie statt hartcodierter Daten aus der Datenbank abgerufen wird.

Hinweis

Diese Aufgabe ist mit Übung 1 üblich.

Wenn Sie Übung 1 abgeschlossen haben, werden Sie feststellen, dass diese Schritte in beiden Ansätzen gleich sind (Datenbank zuerst oder Code zuerst). Sie unterscheiden sich darin, wie die Daten mit dem Modell verknüpft sind, aber der Zugriff auf Datenentitäten ist noch transparent vom Verantwortlichen.

  1. Öffnen Sie Controller\StoreController.cs , und fügen Sie der Klasse das folgende Feld hinzu, um eine Instanz der MusicStoreEntities-Klasse mit dem Namen "storeDB" zu speichern:

    (Codeausschnitt - Modelle und Datenzugriff – Ex1 storeDB)

    public class StoreController : Controller
    {
        private MusicStoreEntities storeDB = new MusicStoreEntities();
        ...
    }
    
  2. Die MusicStoreEntities-Klasse macht eine Auflistungseigenschaft für jede Tabelle in der Datenbank verfügbar. Aktualisieren Sie die Browse-Aktionsmethode , um ein Genre mit allen Alben abzurufen.

    (Codeausschnitt - Modelle und Datenzugriff – Ex2 Store-Browse)

    public ActionResult Browse(string genre)
    {
         // Retrieve Genre and its Associated Albums from database
         var genreModel = new Genre
        {
            Name = genre,
            Albums = this.storeDB.Albums.ToList()
        };
    
         return this.View(genreModel);
    }
    

    Hinweis

    Sie verwenden eine Funktion von .NET namens LINQ (sprachintegrierte Abfrage), um stark typierte Abfrageausdrücke für diese Auflistungen zu schreiben, die Code für die Datenbank ausführen und Objekte zurückgeben, für die Sie programmieren können.

    Weitere Informationen zu LINQ finden Sie auf der Msdn-Website.

  3. Aktualisieren Sie die Index-Aktionsmethode , um alle Genres abzurufen.

    (Codeausschnitt - Modelle und Datenzugriff – Ex2 Store-Index)

    public ActionResult Index()
    {
        var genres = this.storeDB.Genres;
    
        return this.View(genres);
    }
    
  4. Aktualisieren Sie die Index-Aktionsmethode , um alle Genres abzurufen und die Auflistung in eine Liste zu transformieren.

    (Codeausschnitt - Modelle und Datenzugriff - Ex2 Store GenreMenu)

    // GET: /Store/GenreMenu
    [ChildActionOnly]
    public ActionResult GenreMenu()
    {
        var genres = this.storeDB.Genres.Take(9).ToList();
    
        return this.PartialView(genres);
    }
    

Aufgabe 5 – Ausführen der Anwendung

In dieser Aufgabe überprüfen Sie, ob auf der Seite "Store-Index" nun die in der Datenbank gespeicherten Genres anstelle der hartcodierten angezeigt werden. Es ist nicht erforderlich, die Ansichtsvorlage zu ändern, da der StoreController das gleiche StoreIndexViewModel wie zuvor zurückgibt, aber diesmal stammen die Daten aus der Datenbank.

  1. Erstellen Sie die Lösung neu, und drücken Sie F5 , um die Anwendung auszuführen.

  2. Das Projekt beginnt auf der Startseite. Stellen Sie sicher, dass das Menü der Genres keine hartcodierte Liste mehr ist, und die Daten werden direkt aus der Datenbank abgerufen.

    Screenshot einer Musikgenre-Seite, auf der Sie überprüfen können, ob das Menü

    Browsergenres aus der Datenbank

  3. Navigieren Sie nun zu einem beliebigen Genre, und überprüfen Sie, ob die Alben aus der Datenbank aufgefüllt werden.

    Der Screenshot zeigt eine Ansicht, in der Sie überprüfen, ob die Alben aus der Datenbank aufgefüllt werden.

    Durchsuchen von Alben aus der Datenbank

Übung 3: Abfragen der Datenbank mit Parametern

In dieser Übung erfahren Sie, wie Sie die Datenbank mithilfe von Parametern abfragen und wie Sie die Abfrageergebnisstrukturierung verwenden, ein Feature, mit dem die Anzahl der Datenbankzugriffe beim Abrufen von Daten effizienter reduziert wird.

Hinweis

Weitere Informationen zur Abfrageergebnisgestaltung finden Sie im folgenden Msdn-Artikel.

Aufgabe 1: Ändern des StoreControllers zum Abrufen von Alben aus der Datenbank

In dieser Aufgabe ändern Sie die StoreController-Klasse , um auf die Datenbank zuzugreifen, um Alben aus einem bestimmten Genre abzurufen.

  1. Öffnen Sie die Begin-Lösung im Ordner "Source\Ex3-QueryingTheDatabaseWithParametersCodeFirst\Begin", wenn Sie code-First-Ansatz oder Source\Ex3-QueryingTheDatabaseWithParametersDBFirst\Begin-Ordner verwenden möchten, wenn Sie den Ansatz "Database-First" verwenden möchten. Andernfalls verwenden Sie möglicherweise die, die Sie durch Ausführen der vorherigen Übung erhalten haben.

    1. Wenn Sie die bereitgestellte Begin-Lösung geöffnet haben, müssen Sie einige fehlende NuGet-Pakete herunterladen, bevor Sie fortfahren. Klicken Sie hierzu auf das Menü "Projekt", und wählen Sie "NuGet-Pakete verwalten" aus.

    2. Klicken Sie im Dialogfeld "NuGet-Pakete verwalten" auf " Wiederherstellen ", um fehlende Pakete herunterzuladen.

    3. Erstellen Sie schließlich die Lösung, indem Sie auf "Buildlösung erstellen | " klicken.

      Hinweis

      Einer der Vorteile der Verwendung von NuGet besteht darin, dass Sie nicht alle Bibliotheken in Ihrem Projekt versenden müssen, wodurch die Projektgröße reduziert wird. Mit NuGet Power Tools können Sie alle erforderlichen Bibliotheken beim ersten Ausführen des Projekts herunterladen, indem Sie die Paketversionen in der Datei "Packages.config" angeben. Aus diesem Grund müssen Sie diese Schritte ausführen, nachdem Sie eine vorhandene Lösung aus dieser Übung geöffnet haben.

  2. Öffnen Sie die StoreController-Klasse , um die Browse-Aktionsmethode zu ändern. Erweitern Sie dazu im Projektmappen-Explorer den Ordner "Controller", und doppelklicken Sie auf StoreController.cs.

  3. Ändern Sie die Browse-Aktionsmethode , um Alben für ein bestimmtes Genre abzurufen. Ersetzen Sie dazu den folgenden Code:

    (Codeausschnitt - Modelle und Datenzugriff – Ex3 StoreController BrowseMethod)

    public ActionResult Browse(string genre)
    {
        // Retrieve Genre and its Associated Albums from database
        var genreModel = this.storeDB.Genres.Include("Albums")
            .Single(g => g.Name == genre);
    
        return this.View(genreModel);
    }
    

Hinweis

Zum Auffüllen einer Auflistung der Entität müssen Sie die Include-Methode verwenden, um anzugeben, dass Sie auch die Alben abrufen möchten. Sie können die .Single() Extension in LINQ, da in diesem Fall nur ein Genre für ein Album erwartet wird. Die Single() -Methode verwendet einen Lambda-Ausdruck als Parameter, der in diesem Fall ein einzelnes Genre-Objekt angibt, sodass der Name dem definierten Wert entspricht.

Sie nutzen ein Feature, mit dem Sie auch andere verwandte Entitäten angeben können, die geladen werden sollen, wenn das Genre-Objekt abgerufen wird. Dieses Feature wird als Abfrageergebnismodellierung bezeichnet und ermöglicht es Ihnen, die Anzahl der Für den Zugriff auf die Datenbank zum Abrufen von Informationen erforderlichen Male zu verringern. In diesem Szenario sollten Sie die Alben für das von Ihnen abgerufene Genre vorab abrufen.

Die Abfrage enthält Genres.Include("Alben"), um anzugeben, dass auch verwandte Alben verwendet werden sollen. Dies führt zu einer effizienteren Anwendung, da sie sowohl Genre- als auch Albumdaten in einer einzigen Datenbankanforderung abruft.

Aufgabe 2 – Ausführen der Anwendung

In dieser Aufgabe führen Sie die Anwendung aus und rufen Alben eines bestimmten Genres aus der Datenbank ab.

  1. Drücken Sie F5 , um die Anwendung auszuführen.

  2. Das Projekt beginnt auf der Startseite. Ändern Sie die URL in "/Store/Browse?genre=Pop ", um zu überprüfen, ob die Ergebnisse aus der Datenbank abgerufen werden.

    Browsen nach Genre

    Browsen /Store/Browse?genre=Pop

Aufgabe 3 – Zugreifen auf Alben nach ID

In dieser Aufgabe wiederholen Sie das vorherige Verfahren, um Alben anhand ihrer ID abzurufen.

  1. Schließen Sie den Browser bei Bedarf, um zu Visual Studio zurückzukehren. Öffnen Sie die StoreController-Klasse , um die Details-Aktionsmethode zu ändern. Erweitern Sie dazu im Projektmappen-Explorer den Ordner "Controller", und doppelklicken Sie auf StoreController.cs.

  2. Ändern Sie die Aktionsmethode "Details ", um Details von Alben basierend auf ihrer ID abzurufen. Ersetzen Sie dazu den folgenden Code:

    (Codeausschnitt - Modelle und Datenzugriff – Ex3 StoreController DetailsMethod)

    // GET: /Store/
    public ActionResult Details(int id)
    {
        var album = this.storeDB.Albums.Find(id);
    
        if (album == null)
        {
            return this.HttpNotFound();
        }
    
        return this.View(album);
    }
    

Aufgabe 4 – Ausführen der Anwendung

In dieser Aufgabe führen Sie die Anwendung in einem Webbrowser aus und erhalten Albumdetails anhand ihrer ID.

  1. Drücken Sie F5 , um die Anwendung auszuführen.

  2. Das Projekt beginnt auf der Startseite. Ändern Sie die URL in "/Store/Details/51 ", oder durchsuchen Sie die Genres, und wählen Sie ein Album aus, um zu überprüfen, ob die Ergebnisse aus der Datenbank abgerufen werden.

    Browserdetails

    Browsen /Store/Details/51

Hinweis

Darüber hinaus können Sie diese Anwendung in Windows Azure-Websites im folgenden Anhang B bereitstellen: Veröffentlichen einer ASP.NET MVC 4-Anwendung mithilfe von Web Deploy.


Zusammenfassung

Mit diesem praktischen Übungslabor haben Sie die Grundlagen ASP.NET MVC-Modelle und Datenzugriffs kennengelernt, indem Sie den Ansatz "Database First" sowie den Code First-Ansatz verwenden:

  • So fügen Sie der Lösung eine Datenbank hinzu, um ihre Daten zu nutzen
  • Aktualisieren von Controllern zum Bereitstellen von Ansichtsvorlagen mit den Daten aus der Datenbank anstelle hartcodierter Daten
  • Abfragen der Datenbank mithilfe von Parametern
  • So verwenden Sie die Abfrageergebnisstrukturierung, ein Feature, das die Anzahl der Datenbankzugriffe reduziert und Daten effizienter abruft
  • Verwenden der Ansätze "Datenbank first" und "Code First" in Microsoft Entity Framework zum Verknüpfen der Datenbank mit dem Modell

Anhang A: Installieren von Visual Studio Express 2012 für Web

Sie können Microsoft Visual Studio Express 2012 für Web oder eine andere "Express"-Version mit dem Microsoft-Webplattform Installer installieren. Die folgenden Anweisungen führen Sie durch die Schritte, die zum Installieren von Visual Studio Express 2012 für Web mit Microsoft-Webplattform Installer erforderlich sind.

  1. Wechseln Sie zu [/iis/extensions/introduction-to-iis-express/iis-express-overview?linkid=9810169](/iis/extensions/introduction-to-iis-express/iis-express-overview?linkid=9810169). Wenn Sie das Webplattform-Installationsprogramm bereits installiert haben, können Sie es öffnen und nach dem Produkt "Visual Studio Express 2012 for Web with Windows Azure SDK" suchen.

  2. Klicken Sie auf "Jetzt installieren". Wenn Sie nicht über das Webplattform-Installationsprogramm verfügen, werden Sie umgeleitet, um es zuerst herunterzuladen und zu installieren.

  3. Klicken Sie nach dem Öffnen des Webplattform-Installers auf "Installieren ", um das Setup zu starten.

    Installieren von Visual Studio Express

    Installieren von Visual Studio Express

  4. Lesen Sie alle Lizenzen und Bedingungen der Produkte, und klicken Sie auf "Ich stimme zu", um den Vorgang fortzusetzen.

    Akzeptieren der Lizenzbedingungen

    Akzeptieren der Lizenzbedingungen

  5. Warten Sie, bis der Download- und Installationsprozess abgeschlossen ist.

    Installationsfortschritt

    Installationsfortschritt

  6. Wenn die Installation abgeschlossen ist, klicken Sie auf "Fertig stellen".

    Installation abgeschlossen

    Installation abgeschlossen

  7. Klicken Sie auf "Beenden ", um den Webplattform-Installer zu schließen.

  8. Um Visual Studio Express für Web zu öffnen, wechseln Sie zum Startbildschirm, und beginnen Sie mit dem Schreiben von "VS Express", und klicken Sie dann auf die VS Express für Webkachel.

    VS Express für Webkachel

    VS Express für Webkachel

Anhang B: Veröffentlichen einer ASP.NET MVC 4-Anwendung mit Web Deploy

In diesem Anhang wird gezeigt, wie Sie eine neue Website über das Windows Azure-Verwaltungsportal erstellen und die Anwendung veröffentlichen, die Sie erhalten haben, indem Sie die von Windows Azure bereitgestellte Web Deploy-Veröffentlichungsfunktion nutzen.

Aufgabe 1 – Erstellen einer neuen Website über das Windows Azure-Portal

  1. Wechseln Sie zum Windows Azure-Verwaltungsportal , und melden Sie sich mit den Microsoft-Anmeldeinformationen an, die Ihrem Abonnement zugeordnet sind.

    Hinweis

    Mit Windows Azure können Sie 10 ASP.NET Websites kostenlos hosten und dann skalieren, wenn Ihr Datenverkehr wächst. Sie können sich hier registrieren.

    Anmelden bei Windows Azure-Portal

    Anmelden beim Windows Azure-Verwaltungsportal

  2. Klicken Sie auf der Befehlsleiste auf "Neu ".

    Erstellen einer neuen Website

    Erstellen einer neuen Website

  3. Klicken Sie auf "Computewebsite | ". Wählen Sie dann die Option "Schnellerstellung " aus. Geben Sie eine verfügbare URL für die neue Website an, und klicken Sie auf " Website erstellen".

    Hinweis

    Eine Windows Azure-Website ist der Host für eine Webanwendung, die in der Cloud ausgeführt wird, die Sie steuern und verwalten können. Mit der Option "Schnellerstellung" können Sie eine fertige Webanwendung von außerhalb des Portals auf der Windows Azure-Website bereitstellen. Sie enthält keine Schritte zum Einrichten einer Datenbank.

    Erstellen einer neuen Website mithilfe der Schnellerstellung

    Erstellen einer neuen Website mithilfe der Schnellerstellung

  4. Warten Sie, bis die neue Website erstellt wird.

  5. Nachdem die Website erstellt wurde, klicken Sie auf den Link unter der URL-Spalte . Überprüfen Sie, ob die neue Website funktioniert.

    Navigieren zur neuen Website

    Navigieren zur neuen Website

    Website wird ausgeführt

    Website wird ausgeführt

  6. Wechseln Sie zurück zum Portal, und klicken Sie auf den Namen der Website unter der Spalte "Name ", um die Verwaltungsseiten anzuzeigen.

    Öffnen der Websiteverwaltungsseiten

    Öffnen der Websiteverwaltungsseiten

  7. Klicken Sie auf der Seite "Dashboard " im Abschnitt "Schnellblick " auf den Link "Veröffentlichungsprofil herunterladen".

    Hinweis

    Das Veröffentlichungsprofil enthält alle Informationen, die zum Veröffentlichen einer Webanwendung auf einer Windows Azure-Website für jede aktivierte Publikationsmethode erforderlich sind. Das Veröffentlichungsprofil enthält die URLs, Benutzeranmeldeinformationen und Datenbankzeichenfolgen, die erforderlich sind, um eine Verbindung mit jedem der Endpunkte herzustellen und zu authentifizieren, für die eine Publikationsmethode aktiviert ist. Microsoft WebMatrix 2, Microsoft Visual Studio Express für Web und Microsoft Visual Studio 2012 unterstützen das Lesen von Veröffentlichungsprofilen, um die Konfiguration dieser Programme zum Veröffentlichen von Webanwendungen auf Windows Azure-Websites zu automatisieren.

    Herunterladen des Veröffentlichungsprofils der Website

    Herunterladen des Veröffentlichungsprofils der Website

  8. Laden Sie die Veröffentlichungsprofildatei an einen bekannten Speicherort herunter. In dieser Übung erfahren Sie, wie Sie diese Datei verwenden, um eine Webanwendung in einer Windows Azure-Website aus Visual Studio zu veröffentlichen.

    Speichern der Veröffentlichungsprofildatei

    Speichern der Veröffentlichungsprofildatei

Aufgabe 2 : Konfigurieren des Datenbankservers

Wenn Ihre Anwendung SQL Server-Datenbanken verwendet, müssen Sie einen SQL-Datenbank Server erstellen. Wenn Sie eine einfache Anwendung bereitstellen möchten, die sql Server nicht verwendet, überspringen Sie diese Aufgabe möglicherweise.

  1. Sie benötigen einen SQL-Datenbank Server zum Speichern der Anwendungsdatenbank. Sie können die SQL-Datenbank Server aus Ihrem Abonnement im Windows Azure-Verwaltungsportal im Dashboard von Sql Databases | Servers anzeigen | . Wenn Sie keinen Server erstellt haben, können Sie einen mit der Schaltfläche "Hinzufügen " auf der Befehlsleiste erstellen. Notieren Sie sich den Servernamen und die URL, den Administratoranmeldungsnamen und das Kennwort, wie Sie sie in den nächsten Aufgaben verwenden werden. Erstellen Sie die Datenbank noch nicht, da sie in einer späteren Phase erstellt wird.

    SQL-Datenbank Serverdashboard

    SQL-Datenbank Serverdashboard

  2. In der nächsten Aufgabe testen Sie die Datenbankverbindung von Visual Studio, aus diesem Grund müssen Sie Ihre lokale IP-Adresse in die Liste der zulässigen IP-Adressen des Servers aufnehmen. Klicken Sie dazu auf "Konfigurieren", wählen Sie die IP-Adresse aus der aktuellen Client-IP-Adresse aus, fügen Sie sie in die Textfelder "START-IP-Adresse " und "IP-Adresse beenden" ein, und klicken Sie auf die Add-client-ip-address-ok-button Schaltfläche.

    Hinzufügen der Client-IP-Adresse

    Hinzufügen der Client-IP-Adresse

  3. Nachdem die Client-IP-Adresse der Liste zulässiger IP-Adressen hinzugefügt wurde, klicken Sie auf " Speichern ", um die Änderungen zu bestätigen.

    Änderungen bestätigen

    Änderungen bestätigen

Aufgabe 3 – Veröffentlichen einer ASP.NET MVC 4-Anwendung mithilfe von Web Deploy

  1. Wechseln Sie zurück zur ASP.NET MVC 4-Lösung. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Websiteprojekt, und wählen Sie "Veröffentlichen" aus.

    Veröffentlichen der Anwendung

    Veröffentlichen der Website

  2. Importieren Sie das Veröffentlichungsprofil, das Sie in der ersten Aufgabe gespeichert haben.

    Importieren des Veröffentlichungsprofils

    Importieren des Veröffentlichungsprofils

  3. Klicken Sie auf " Verbindung überprüfen". Klicken Sie nach Abschluss der Überprüfung auf Weiter.

    Hinweis

    Die Überprüfung ist abgeschlossen, sobald neben der Schaltfläche "Verbindung überprüfen" ein grünes Häkchen angezeigt wird.

    Überprüfen der Verbindung

    Überprüfen der Verbindung

  4. Klicken Sie auf der Seite "Einstellungen " im Abschnitt "Datenbanken " auf die Schaltfläche neben dem Textfeld ihrer Datenbankverbindung (d. h. DefaultConnection).

    Webbereitstellungskonfiguration

    Webbereitstellungskonfiguration

  5. Konfigurieren Sie die Datenbankverbindung wie folgt:

    • Geben Sie im Servernamen ihre SQL-Datenbank Server-URL mit dem Präfix tcp: ein.

    • Geben Sie unter " Benutzername" den Anmeldenamen des Serveradministrators ein.

    • Geben Sie im Kennwort das Anmeldekennwort ihres Serveradministrators ein.

    • Geben Sie einen neuen Datenbanknamen ein.

      Konfigurieren von Ziel-Verbindungszeichenfolge

      Konfigurieren von Ziel-Verbindungszeichenfolge

  6. Klicken Sie dann auf OK. Wenn Sie aufgefordert werden, die Datenbank zu erstellen, klicken Sie auf "Ja".

    Erstellen der Datenbank

    Erstellen der Datenbank

  7. Die Verbindungszeichenfolge, die Sie zum Herstellen einer Verbindung mit SQL-Datenbank in Windows Azure verwenden, wird im Textfeld "Standardverbindung" angezeigt. Klicken Sie dann auf Weiter.

    Verbindungszeichenfolge, die auf SQL-Datenbank zeigt

    Verbindungszeichenfolge, die auf SQL-Datenbank zeigt

  8. Klicken Sie auf der Seite "Vorschau " auf "Veröffentlichen".

    Veröffentlichen der Webanwendung

    Veröffentlichen der Webanwendung

  9. Sobald der Veröffentlichungsprozess abgeschlossen ist, öffnet Ihr Standardbrowser die veröffentlichte Website.

Anhang C: Verwenden von Codeausschnitten

Mit Codeausschnitten verfügen Sie über den gesamten Code, den Sie benötigen, jederzeit. Das Lab-Dokument teilt Ihnen genau mit, wann Sie sie verwenden können, wie in der folgenden Abbildung dargestellt.

Verwenden von Visual Studio-Codeausschnitten zum Einfügen von Code in Ihr Projekt

Verwenden von Visual Studio-Codeausschnitten zum Einfügen von Code in Ihr Projekt

So fügen Sie einen Codeausschnitt mithilfe der Tastatur hinzu (nur C#)

  1. Platzieren Sie den Cursor an der Stelle, an der Sie den Code einfügen möchten.
  2. Beginnen Sie mit der Eingabe des Codeausschnittnamens (ohne Leerzeichen oder Bindestriche).
  3. Sehen Sie sich an, wie IntelliSense übereinstimmende Codeausschnittnamen anzeigt.
  4. Wählen Sie den richtigen Codeausschnitt aus (oder halten Sie die Eingabe, bis der Name des gesamten Codeausschnitts ausgewählt ist).
  5. Drücken Sie zweimal die TAB-TASTE, um den Codeausschnitt an der Cursorposition einzufügen.

Beginnen Sie mit der Eingabe des Codeausschnittnamens.

Beginnen Sie mit der Eingabe des Codeausschnittnamens.

Drücken Sie die TAB-TASTE, um den hervorgehobenen Codeausschnitt auszuwählen.

Drücken Sie die TAB-TASTE, um den hervorgehobenen Codeausschnitt auszuwählen.

Drücken Sie erneut die TAB-TASTE, und der Codeausschnitt wird erweitert.

Drücken Sie erneut die TAB-TASTE, und der Codeausschnitt wird erweitert.

So fügen Sie einen Codeausschnitt mit der Maus (C#, Visual Basic und XML) 1 hinzu. Klicken Sie mit der rechten Maustaste auf die Stelle, an der Sie den Codeausschnitt einfügen möchten.

  1. Wählen Sie "Codeausschnitt einfügen" gefolgt von "Codeausschnitte" aus.
  2. Wählen Sie den relevanten Codeausschnitt aus der Liste aus, indem Sie darauf klicken.

Klicken Sie mit der rechten Maustaste auf die Stelle, an der Sie den Codeausschnitt einfügen möchten, und wählen Sie

Klicken Sie mit der rechten Maustaste auf die Stelle, an der Sie den Codeausschnitt einfügen möchten, und wählen Sie "Codeausschnitt einfügen" aus.

Wählen Sie den relevanten Codeausschnitt aus der Liste aus, indem Sie darauf klicken.

Wählen Sie den relevanten Codeausschnitt aus der Liste aus, indem Sie darauf klicken.