Share via


Scaffolding e migrazioni di ASP.NET MVC 4 Entity Framework

In base al team dei campi Web

Scaricare il Kit di formazione per i campi Web

Se si ha familiarità con ASP.NET metodi controller MVC 4 o si è completato il lab "Helpers, Forms and Validation" Hands-On lab, è necessario tenere presente che gran parte della logica per creare, aggiornare, elencare e rimuovere qualsiasi entità dati viene ripetuta in tutta l'applicazione. Per non parlare del fatto che, se il modello ha diverse classi da modificare, è probabile che si passi molto tempo a scrivere i metodi di azione POST e GET per ogni operazione di entità, nonché ognuna delle visualizzazioni.

In questo lab si apprenderà come usare lo scaffolding ASP.NET MVC 4 per generare automaticamente la linea di base del file CRUD dell'applicazione (Create, Read, Update and Delete). A partire da una classe di modello semplice e, senza scrivere una singola riga di codice, si creerà un controller che conterrà tutte le operazioni CRUD, nonché tutte le viste necessarie. Dopo aver compilato ed eseguito la soluzione semplice, il database dell'applicazione verrà generato, insieme alla logica e alle visualizzazioni MVC per la manipolazione dei dati.

Si apprenderà anche quanto sia facile usare Migrazioni di Entity Framework per eseguire gli aggiornamenti dei modelli nell'intera applicazione. Le migrazioni di Entity Framework consentono di modificare il database dopo che il modello è stato modificato con semplici passaggi. Tenendo presente questo aspetto, sarà possibile creare e gestire applicazioni Web in modo più efficiente, sfruttando le funzionalità più recenti di ASP.NET MVC 4.

Nota

Tutti i frammenti e il codice di esempio sono inclusi nel Web Camps Training Kit, disponibile in Microsoft-Web/WebCampTrainingKit Releases. Il progetto specifico di questo lab è disponibile in ASP.NET Scaffolding e migrazioni di Entity Framework MVC 4.

Obiettivi

In questo lab di Hands-On si apprenderà come:

  • Usare ASP.NET scaffolding per le operazioni CRUD nei controller.
  • Modificare il modello di database usando Migrazioni di Entity Framework.

Prerequisiti

Per completare questo lab, è necessario disporre degli elementi seguenti:

Installazione

Installazione di frammenti di codice

Per praticità, gran parte del codice che si gestirà in questo lab è disponibile come frammenti di codice di Visual Studio. Per installare i frammenti di codice, eseguire il file .\Source\Setup\CodeSnippets.vsi .

Se non si ha familiarità con i frammenti di codice di Visual Studio e si vuole imparare a usarli, è possibile fare riferimento all'appendice di questo documento "Appendice B: Uso dei frammenti di codice".


Esercizi

L'esercizio seguente è costituito da questo lab Hands-On:

  1. Uso di ASP.NET Scaffolding MVC 4 con migrazioni di Entity Framework

Nota

Questo esercizio è accompagnato da una cartella End contenente la soluzione risultante che è necessario ottenere dopo aver completato l'esercizio. È possibile usare questa soluzione come guida se è necessaria ulteriore assistenza nell'esercizio.

Tempo stimato per il completamento del lab: 30 minuti

Esercizio 1: Uso di ASP.NET Scaffolding MVC 4 con migrazioni di Entity Framework

ASP.NET lo scaffolding MVC offre un modo rapido per generare le operazioni CRUD in modo standardizzato, creando la logica necessaria che consente all'applicazione di interagire con il livello di database.

In questo esercizio si apprenderà come usare ASP.NET scaffolding MVC 4 con codice per creare prima i metodi CRUD. Si apprenderà quindi come aggiornare il modello applicando le modifiche nel database usando Migrazioni di Entity Framework.

Attività 1- Creazione di un nuovo progetto ASP.NET MVC 4 tramite lo scaffolding

  1. Se non è già aperto, avviare Visual Studio 2012.

  2. Selezionare File | Nuovo progetto. Nella finestra di dialogo Nuovo progetto, in Visual C# | Sezione Web , selezionare ASP.NET'applicazione Web MVC 4. Assegnare al progetto il nome MVC4andEFMigrations e impostare il percorso su Source\Ex1-UsingMVC4ScaffoldingEFMigrations cartella di questo lab. Impostare Il nome della soluzione su Begin e verificare che la casella Crea directory per la soluzione sia selezionata. Fare clic su OK.

    Nuova ASP.NET finestra di dialogo Nuovo progetto MVC 4

    Finestra di dialogo Nuovo progetto MVC 4 ASP.NET

  3. Nella finestra di dialogo Nuovo ASP.NET progetto MVC 4 selezionare il modello Applicazione Internet e assicurarsi che Razor sia il motore di visualizzazione selezionato. Fare clic su OK per creare il progetto.

    Nuova applicazione Internet MVC 4 ASP.NET nuova

    Nuova applicazione Internet MVC 4 ASP.NET

  4. Nel Esplora soluzioni fare clic con il pulsante destro del mouse su Modelli e scegliere Aggiungi | Classe per creare una persona di classe semplice (POCO). Denominarlo Person e fare clic su OK.

  5. Aprire la classe Person e inserire le proprietà seguenti.

    (Frammento di codice - ASP.NET migrazioni MVC 4 ed Entity Framework - Proprietà persona ex1)

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    
    namespace MVC4EF.Models
    {
        public class Person
        {
            public int PersonID { get; set; }
    
            public string FirstName { get; set; }
    
            public string LastName { get; set; }        
        }
    }
    
  6. Fare clic su Compila | Compilare la soluzione per salvare le modifiche e compilare il progetto.

    Screenshot che mostra Visual Studio Express 2012 con il menu Compila e quindi compila soluzioni selezionato.

    Compilazione dell'applicazione

  7. Nella Esplora soluzioni fare clic con il pulsante destro del mouse sulla cartella controller e scegliere Aggiungi | Controller.

  8. Assegnare al controller il nome PersonController e completare le opzioni di scaffolding con i valori seguenti.

    1. Nell'elenco a discesa Modello selezionare il controller MVC con azioni e visualizzazioni di lettura/scrittura, usando l'opzione Entity Framework .

    2. Nell'elenco a discesa Classe modello selezionare la classe Person .

    3. Nell'elenco Classe contesto dati selezionare <Nuovo contesto dati...>. Scegliere un nome qualsiasi e fare clic su OK.

    4. Nell'elenco a discesa Visualizzazioni verificare che Razor sia selezionato.

      Aggiunta del controller Person con scaffolding

      Aggiunta del controller Person con scaffolding

  9. Fare clic su Aggiungi per creare il nuovo controller per Person con scaffolding. Sono state generate le azioni del controller e le visualizzazioni.

    Dopo aver creato il controller Person con scaffolding

    Dopo aver creato il controller Person con scaffolding

  10. Aprire la classe PersonController . Si noti che i metodi di azione CRUD completi sono stati generati automaticamente.

All'interno del controller Person All'interno

All'interno del controller Person

Attività 2- Esecuzione dell'applicazione

A questo punto, il database non è ancora stato creato. In questa attività si eseguirà l'applicazione per la prima volta e si testeranno le operazioni CRUD. Il database verrà creato in tempo reale con Code First.

  1. Premere F5 per eseguire l'applicazione.

  2. Nel browser aggiungere /Person all'URL per aprire la pagina Person.

    Prima esecuzione

    Applicazione: prima esecuzione

  3. Si esamineranno ora le pagine Person e si testeranno le operazioni CRUD.

    1. Fare clic su Crea nuovo per aggiungere una nuova persona. Immettere un nome e un cognome e fare clic su Crea.

      Aggiunta di una nuova persona Aggiunta

      Aggiunta di una nuova persona

    2. Nell'elenco della persona è possibile eliminare, modificare o aggiungere elementi.

      elenco persone

      Elenco persone

    3. Fare clic su Dettagli per aprire i dettagli della persona.

      Dettagli della persona

      Dettagli della persona

  4. Chiudere il browser e tornare a Visual Studio. Si noti che è stato creato l'intero crud per l'entità persona in tutta l'applicazione, dal modello alle visualizzazioni, senza dover scrivere una singola riga di codice.

Attività 3- Aggiornamento del database tramite Migrazioni di Entity Framework

In questa attività si aggiornerà il database usando Migrazioni di Entity Framework. Si scoprirà quanto sia facile modificare il modello e riflettere le modifiche nei database usando la funzionalità Migrazioni di Entity Framework.

  1. Aprire la Console di Gestione pacchetti. Fare clic su Strumenti>Gestione Pacchetti NuGet>Console di Gestione pacchetti.

  2. Nella Console di Gestione pacchetti immettere il comando seguente:

    PMC

    Enable-Migrations -ContextTypeName [ContextClassName]
    

    Abilitazione delle migrazioni abilitazione

    Abilitazione delle migrazioni

    Il comando Enable-Migration crea la cartella Migrations , che contiene uno script per inizializzare il database.

    Cartella Migrations

    Cartella Migrations

  3. Aprire il file Configuration.cs nella cartella Migrations. Individuare il costruttore della classe e modificare il valore AutomaticMigrationsEnabled su true.

    public Configuration()
    {
        AutomaticMigrationsEnabled = true;
    }
    
  4. Aprire la classe Person e aggiungere un attributo per il secondo nome della persona. Con questo nuovo attributo si sta modificando il modello.

    public class Person
    {
        public int PersonID { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string MiddleName { get; set; }
    }
    
  5. Selezionare Compila | Compilare la soluzione nel menu per compilare l'applicazione.

    Screenshot che mostra il menu Compila, quindi Compila soluzioni selezionato.

    Compilazione dell'applicazione

  6. Nella Console di Gestione pacchetti immettere il comando seguente:

    PMC

    Add-Migration AddMiddleName
    

    Questo comando cercherà le modifiche apportate agli oggetti dati e quindi aggiungerà i comandi necessari per modificare il database di conseguenza.

    Aggiunta di un secondo nome Aggiunta di

    Aggiunta di un secondo nome

  7. (Facoltativo) È possibile eseguire il comando seguente per generare uno script SQL con l'aggiornamento differenziale. In questo modo sarà possibile aggiornare manualmente il database (in questo caso non è necessario) o applicare le modifiche in altri database:

    PMC

    Update-Database -Script -SourceMigration:
    
    $InitialDatabase
    

    Generazione di uno script SQL che

    Generazione di uno script SQL

    Aggiornamento dello script SQL

    Aggiornamento dello script SQL

  8. Nella console di Gestione pacchetti immettere il comando seguente per aggiornare il database:

    PMC

    Update-Database -Verbose
    

    Aggiornamento del database

    Aggiornamento del database

    Verrà aggiunta la colonna MiddleName nella tabella Persone in modo che corrisponda alla definizione corrente della classe Person.

  9. Dopo aver aggiornato il database, fare clic con il pulsante destro del mouse sulla cartella Controller e scegliere Aggiungi | Controller per aggiungere di nuovo il controller Person (Completo con gli stessi valori). Verranno aggiornati i metodi e le visualizzazioni esistenti aggiungendo il nuovo attributo.

    Aggiunta di un aggiornamento del controller

    Aggiornamento del controller

  10. Scegliere Aggiungi. Selezionare quindi i valori Sovrascrivi PersonController.cs e sovrascrivi le visualizzazioni associate e fare clic su OK.

Aggiunta di una sovrascrittura del controller

Aggiornamento del controller

Task4- Esecuzione dell'applicazione

  1. Premere F5 per eseguire l'applicazione.

  2. Aprire /Person. Si noti che i dati sono stati mantenuti, mentre è stata aggiunta la colonna del secondo nome.

    Aggiunta del secondo nome

    Secondo nome aggiunto

  3. Se si fa clic su Modifica, sarà possibile aggiungere un secondo nome alla persona corrente.

    Middle Name Edition Middle


Riepilogo

In questo lab Hands-On sono stati illustrati semplici passaggi per creare operazioni CRUD con ASP.NET Scaffolding MVC 4 usando qualsiasi classe di modello. Si è quindi appreso come eseguire un aggiornamento end-to-end nell'applicazione, dal database alle viste, usando Migrazioni di Entity Framework.

Appendice A: Installazione di Visual Studio Express 2012 per Il Web

È possibile installare Microsoft Visual Studio Express 2012 per Il Web o un'altra versione "Express" usando il Installazione guidata piattaforma Web Microsoft. Le istruzioni seguenti illustrano i passaggi necessari per installare Visual Studio Express 2012 per Il Web usando Installazione guidata piattaforma Web Microsoft.

  1. Passare a https://go.microsoft.com/?linkid=9810169. In alternativa, se è già stato installato Il programma di installazione della piattaforma Web, è possibile aprirlo e cercare il prodotto "Visual Studio Express 2012 per Il Web con Windows Azure SDK".

  2. Fare clic su Installa adesso. Se non si dispone di Installazione guidata piattaforma Web , si verrà reindirizzati per scaricarlo e installarlo per primo.

  3. Dopo aver aperto Il programma di installazione della piattaforma Web , fare clic su Installa per avviare l'installazione.

    Installare Visual Studio Express Installare Visual Studio Express

    Installare Visual Studio Express

  4. Leggere tutte le licenze e le condizioni dei prodotti e fare clic su Accetto per continuare.

    Accettazione delle condizioni di licenza

    Accettazione delle condizioni di licenza

  5. Attendere il completamento del processo di download e installazione.

    Stato dell'installazione

    Stato dell'installazione

  6. Al termine dell'installazione, fare clic su Fine.

    Installazione completata

    Installazione completata

  7. Fare clic su Esci per chiudere Il programma di installazione della piattaforma Web.

  8. Per aprire Visual Studio Express per Il Web, passare alla schermata Start e iniziare a scrivere "VS Express", quindi fare clic sul riquadro VS Express for Web.

    Riquadro di VS Express per Il Web

    Riquadro di VS Express per Il Web

Appendice B: Uso dei frammenti di codice

Con i frammenti di codice, tutto il codice necessario è a portata di mano. Il documento del lab indica esattamente quando è possibile usarli, come illustrato nella figura seguente.

Uso dei frammenti di codice di Visual Studio per inserire codice nel progetto

Uso dei frammenti di codice di Visual Studio per inserire codice nel progetto

Per aggiungere un frammento di codice usando la tastiera (solo C#)

  1. Posizionare il cursore in cui si vuole inserire il codice.
  2. Iniziare a digitare il nome del frammento (senza spazi o trattini).
  3. Osservare che IntelliSense visualizza i nomi dei frammenti di codice corrispondenti.
  4. Selezionare il frammento corretto o continuare a digitare finché non viene selezionato il nome dell'intero frammento.
  5. Premere tab due volte per inserire il frammento di codice nella posizione del cursore.

Iniziare a digitare il nome del frammento

Iniziare a digitare il nome del frammento di codice

Premere TAB per selezionare il frammento di codice evidenziato

Premere TAB per selezionare il frammento evidenziato

Premere di nuovo tabulazioni e il frammento di codice espanderà

Premere di nuovo TAB e il frammento verrà espanso

Per aggiungere un frammento di codice usando il mouse (C#, Visual Basic e XML) 1. Fare clic con il pulsante destro del mouse sul percorso in cui si vuole inserire il frammento di codice.

  1. Selezionare Inserisci frammento di codice seguito da Frammenti di codice personali.
  2. Selezionare il frammento di codice pertinente dall'elenco facendo clic su di esso.

Fare clic con il pulsante destro del mouse sul percorso in cui inserire il frammento di codice e scegliere Inserisci frammento di codice facendo

Fare clic con il pulsante destro del mouse su dove inserire il frammento di codice e selezionare Inserisci frammento

Selezionare il frammento di codice pertinente dall'elenco facendo clic su di

Selezionare il frammento di codice pertinente dall'elenco facendo clic su di esso