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:
- Microsoft Visual Studio Express 2012 per Web o superiore (per istruzioni su come installarlo).
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:
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
Se non è già aperto, avviare Visual Studio 2012.
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.
Finestra di dialogo Nuovo progetto MVC 4 ASP.NET
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
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.
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; } } }
Fare clic su Compila | Compilare la soluzione per salvare le modifiche e compilare il progetto.
Compilazione dell'applicazione
Nella Esplora soluzioni fare clic con il pulsante destro del mouse sulla cartella controller e scegliere Aggiungi | Controller.
Assegnare al controller il nome PersonController e completare le opzioni di scaffolding con i valori seguenti.
Nell'elenco a discesa Modello selezionare il controller MVC con azioni e visualizzazioni di lettura/scrittura, usando l'opzione Entity Framework .
Nell'elenco a discesa Classe modello selezionare la classe Person .
Nell'elenco Classe contesto dati selezionare <Nuovo contesto dati...>. Scegliere un nome qualsiasi e fare clic su OK.
Nell'elenco a discesa Visualizzazioni verificare che Razor sia selezionato.
Aggiunta del controller Person con scaffolding
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
Aprire la classe PersonController . Si noti che i metodi di azione CRUD completi sono stati generati automaticamente.
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.
Premere F5 per eseguire l'applicazione.
Nel browser aggiungere /Person all'URL per aprire la pagina Person.
Applicazione: prima esecuzione
Si esamineranno ora le pagine Person e si testeranno le operazioni CRUD.
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
Nell'elenco della persona è possibile eliminare, modificare o aggiungere elementi.
Elenco persone
Fare clic su Dettagli per aprire i dettagli della persona.
Dettagli della persona
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.
Aprire la Console di Gestione pacchetti. Fare clic su Strumenti>Gestione Pacchetti NuGet>Console di Gestione pacchetti.
Nella Console di Gestione pacchetti immettere il comando seguente:
PMC
Enable-Migrations -ContextTypeName [ContextClassName]
Abilitazione delle migrazioni
Il comando Enable-Migration crea la cartella Migrations , che contiene uno script per inizializzare il database.
Cartella Migrations
Aprire il file Configuration.cs nella cartella Migrations. Individuare il costruttore della classe e modificare il valore AutomaticMigrationsEnabled su true.
public Configuration() { AutomaticMigrationsEnabled = true; }
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; } }
Selezionare Compila | Compilare la soluzione nel menu per compilare l'applicazione.
Compilazione dell'applicazione
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.
di
Aggiunta di un secondo nome
(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
Aggiornamento dello script SQL
Nella console di Gestione pacchetti immettere il comando seguente per aggiornare il database:
PMC
Update-Database -Verbose
Aggiornamento del database
Verrà aggiunta la colonna MiddleName nella tabella Persone in modo che corrisponda alla definizione corrente della classe Person.
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.
Aggiornamento del controller
Scegliere Aggiungi. Selezionare quindi i valori Sovrascrivi PersonController.cs e sovrascrivi le visualizzazioni associate e fare clic su OK.
Aggiornamento del controller
Task4- Esecuzione dell'applicazione
Premere F5 per eseguire l'applicazione.
Aprire /Person. Si noti che i dati sono stati mantenuti, mentre è stata aggiunta la colonna del secondo nome.
Secondo nome aggiunto
Se si fa clic su Modifica, sarà possibile aggiungere un secondo nome alla persona corrente.
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.
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".
Fare clic su Installa adesso. Se non si dispone di Installazione guidata piattaforma Web , si verrà reindirizzati per scaricarlo e installarlo per primo.
Dopo aver aperto Il programma di installazione della piattaforma Web , fare clic su Installa per avviare l'installazione.
Installare Visual Studio Express
Leggere tutte le licenze e le condizioni dei prodotti e fare clic su Accetto per continuare.
Accettazione delle condizioni di licenza
Attendere il completamento del processo di download e installazione.
Stato dell'installazione
Al termine dell'installazione, fare clic su Fine.
Installazione completata
Fare clic su Esci per chiudere Il programma di installazione della piattaforma Web.
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
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
Per aggiungere un frammento di codice usando la tastiera (solo C#)
- Posizionare il cursore in cui si vuole inserire il codice.
- Iniziare a digitare il nome del frammento (senza spazi o trattini).
- Osservare che IntelliSense visualizza i nomi dei frammenti di codice corrispondenti.
- Selezionare il frammento corretto o continuare a digitare finché non viene selezionato il nome dell'intero frammento.
- Premere tab due volte per inserire il frammento di codice nella posizione del cursore.
Iniziare a digitare il nome del frammento di codice
Premere TAB per selezionare il frammento evidenziato
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.
- Selezionare Inserisci frammento di codice seguito da Frammenti di codice personali.
- Selezionare il frammento di codice pertinente dall'elenco facendo clic su di esso.
facendo
Fare clic con il pulsante destro del mouse su dove inserire il frammento di codice e selezionare Inserisci frammento
di
Selezionare il frammento di codice pertinente dall'elenco facendo clic su di esso
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per