Condividi tramite


Esercitazione: Modificare il database per EF Database First con ASP.NET'app MVC

Usando MVC, Entity Framework e ASP.NET Scaffolding, è possibile creare un'applicazione Web che fornisce un'interfaccia a un database esistente. Questa serie di esercitazioni illustra come generare automaticamente codice che consente agli utenti di visualizzare, modificare, creare ed eliminare dati che si trovano in una tabella di database. Il codice generato corrisponde alle colonne della tabella di database.

Questa esercitazione è incentrata sull'esecuzione di un aggiornamento alla struttura del database e sulla propagazione di tale modifica in tutta l'applicazione Web.

In questa esercitazione:

  • Aggiungere una colonna
  • Aggiungere la proprietà alle visualizzazioni

Prerequisiti

Aggiungere una colonna

Se si aggiorna la struttura di una tabella nel database, è necessario assicurarsi che la modifica venga propagata al modello di dati, alle visualizzazioni e al controller.

Per questa esercitazione si aggiungerà una nuova colonna alla tabella Student per registrare il nome intermedio dello studente. Per aggiungere questa colonna, aprire il progetto di database e aprire il file Student.sql. Tramite la finestra di progettazione o il codice T-SQL, aggiungere una colonna denominata MiddleName che è NVARCHAR(50) e consente valori NULL.

Distribuire questa modifica al database locale avviando il progetto di database (o F5). Il nuovo campo viene aggiunto alla tabella. Se il SQL Server Esplora oggetti non viene visualizzato, fare clic sul pulsante Aggiorna nel riquadro.

mostra nuova colonna

La nuova colonna esiste nella tabella di database, ma non esiste attualmente nella classe del modello di dati. È necessario aggiornare il modello per includere la nuova colonna. Nella cartella Modelli aprire il file ContosoModel.edmx per visualizzare il diagramma del modello. Si noti che il modello Student non contiene la proprietà MiddleName. Fare clic con il pulsante destro del mouse in qualsiasi punto dell'area di progettazione e scegliere Aggiorna modello dal database.

Nella Procedura guidata aggiornamento selezionare la scheda Aggiorna e quindi selezionare Tabelle>dbo>Student. Fare clic su Fine.

Al termine del processo di aggiornamento, il diagramma di database include la nuova proprietà MiddleName . Salvare il file ContosoModel.edmx . È necessario salvare questo file per la nuova proprietà da propagare alla classe Student.cs . È ora stato aggiornato il database e il modello.

Compilare la soluzione.

Aggiungere la proprietà alle visualizzazioni

Sfortunatamente, le visualizzazioni non contengono ancora la nuova proprietà. Per aggiornare le visualizzazioni disponibili due opzioni, è possibile generare nuovamente le visualizzazioni aggiungendo nuovamente scaffolding per la classe Student oppure è possibile aggiungere manualmente la nuova proprietà alle visualizzazioni esistenti. In questa esercitazione si aggiungerà di nuovo lo scaffolding perché non sono state apportate modifiche personalizzate alle visualizzazioni generate automaticamente. È possibile prendere in considerazione l'aggiunta manuale della proprietà quando sono state apportate modifiche alle visualizzazioni e non si vuole perdere tali modifiche.

Per assicurarsi che le visualizzazioni vengano ricreate, eliminare la cartella Studenti in Visualizzazioni ed eliminare StudentsController. Fare quindi clic con il pulsante destro del mouse sulla cartella Controller e aggiungere scaffolding per il modello Student . Di nuovo, assegnare un nome al controller StudentsController. Selezionare Aggiungi.

Compilare nuovamente la soluzione. Le viste contengono ora la proprietà MiddleName.

mostra il nome intermedio

Passaggi successivi

In questa esercitazione:

  • Aggiunta di una colonna
  • Aggiunta della proprietà alle visualizzazioni

Passare all'esercitazione successiva per informazioni su come personalizzare la visualizzazione per visualizzare i dettagli relativi a un record degli studenti.