Condividi tramite


Procedura dettagliata: creazione di un nuovo sito Web Dynamic Data utilizzando le pagine di supporto temporaneo.

Aggiornamento: novembre 2007

In questa procedura dettagliata viene descritto come creare un'applicazione Web di base che utilizza ASP.NET Dynamic Data. Dynamic Data consente di creare un sito Web basato sui dati senza dover aggiungere nuovo codice o aggiungendone una minima quantità. Un'importante funzionalità di Dynamic Data è il meccanismo della pagine di supporto temporaneo. Quando, in un sito Web Dynamic Data, è attivo il meccanismo delle pagine di supporto temporaneo, ASP.NET analizza il modello di dati e genera dinamicamente pagine Web per ogni tabella. Queste pagine Web generate automaticamente permettono di visualizzare, inserire, eliminare e modificare le funzionalità per ogni tabella.

In questa procedura dettagliata verrà compilata un'applicazione che visualizza pagine di dati estratti dal database di esempio AdventureWorks.

Per una dimostrazione di questa funzionalità vedere il video.

Prerequisiti

Per completare questa procedura dettagliata, è necessario disporre dei seguenti elementi:

  • Microsoft Visual Studio 2008 con Service Pack 1 o Visual Web Developer 2008 Express Edition con Service Pack 1.

  • Database di esempio AdventureWorks o AdventureWorksLT. Per informazioni su come scaricare e installare il database di esempio di SQL Server, vedere Microsoft SQL Server Product Samples: Database (informazioni in lingua inglese) nel sito Web CodePlex. Assicurarsi che venga installata la versione corretta del database di esempio per la versione di SQL Server in esecuzione (Microsoft SQL Server 2005 o Microsoft SQL Server 2008). 

Creazione di un sito Web Dynamic Data

È possibile creare siti Web Dynamic Data in Visual Studio utilizzando un modello di sito Web.

Per creare un sito Web Dynamic Data

  1. Avviare Visual Studio o Visual Web Developer.

  2. Scegliere Nuovo sito Web dal menu File. In alternativa, se non si dispone di questa opzione, scegliere Nuovo, quindi fare clic su Sito Web.

    Viene visualizzata la finestra di dialogo Nuovo sito Web.

  3. In Modelli Visual Studio installati, selezionare Sito Web Dynamic Data (per utilizzare LINQ to SQL) o Sito Web entità Dynamic Data (per utilizzare ADO.NET Entity Framework).

  4. Nella prima casella Percorso, selezionare File system; nella seconda casella, immettere il nome della cartella in cui salvare le pagine del sito Web.

    Ad esempio, immettere il nome della cartella C:\WebSites\DynamicData.

  5. Nell'elenco Linguaggio scegliere il linguaggio di programmazione da utilizzare.

  6. Scegliere OK.

  7. Visual Studio crea la cartella e la struttura per il sito Web.

Aggiunta di dati al sito Web

Il passaggio successivo consiste nell'aggiunta di un database al progetto. A tale scopo, è necessario creare le classi per rappresentare le entità del database utilizzando uno strumento disponibile in Visual Studio, quindi registrare il contesto dati da utilizzare con Dynamic Data. Per creare il modello del database basato sul modello selezionato, sono disponibili le seguenti opzioni:

  • Se il sito Web è stato creato utilizzando il modello Sito Web Dynamic Data, è necessario creare il modello del database utilizzando LINQ to SQL.

  • Se il sito Web è stato creato utilizzando il modello Sito Web entità Dynamic Data, è necessario creare il modello del database utilizzando Entity Framework.

Per ulteriori informazioni sulla selezione del modello dati, vedere Linee guida per ASP.NET Dynamic Data.

Per aggiungere il file del database al progetto

  1. Se il sito Web non dispone di una cartella App_Data, in Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto, scegliere Aggiungi cartella ASP.NET, quindi App_Data.

  2. In Esplora soluzioni fare clic con il pulsante destro del mouse sulla cartella App_Data, quindi scegliere Aggiungi elemento esistente.

    Verrà visualizzata la finestra di dialogo Aggiungi elemento esistente.

  3. Immettere il percorso in cui è stato installato il file di database AdventureWorks (AdventureWorks_Data.mdf).

    Per impostazione predefinita, il file MDF viene installato nel percorso C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\AdventureWorks_Data.mdf.

    Nota:

    Verrà creata una copia del file di database nel progetto. nel caso risulti poco pratico farne una copia è possibile connettersi ad esso utilizzando un metodo alternativo, ad esempio allegandolo direttamente. La relativa procedura non verrà tuttavia analizzata in questa procedura dettagliata.

Il passaggio successivo consiste nella creazione del modello dati. La procedura differisce leggermente a seconda che si desideri utilizzare LINQ to SQL oppure ADO.NET Entity Framework per creare il modello dati.

Per creare il modello dati utilizzando LINQ to SQL

  1. Se nel sito Web non è già presente una cartella App_Code, in Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto, scegliere Aggiungi cartella ASP.NET, quindi fare clic su App_Code.

  2. Fare clic con il pulsante destro del mouse sulla cartella App_Code, quindi scegliere Aggiungi nuovo elemento.

  3. In Modelli Visual Studio installati, fare clic su Classi LINQ to SQL.

  4. Digitare un nome per il modello di database nella casella Nome.

    Ad esempio, digitare il nome AdventureWorks.dbml.

  5. Scegliere Aggiungi.

    Verrà visualizzata la finestra Progettazione relazionale oggetti.

  6. In Progettazione relazionale oggetti, fare clic sul collegamento Esplora server (Esplora database in Visual Web Developer).

  7. In Esplora server (Esplora database), sotto Connessioni dati, espandere il nodo del file di database e quindi il nodo Tabelle.

  8. Trascinare tutte le tabelle in Progettazione relazionale oggetti.

    Ogni tabella viene rappresentata come un'entità denominata in base alla tabella di database corrispondente.

  9. Salvare il file AdventureWorks.dbml.

  10. In Esplora soluzioni, aprire il file AdventureWorks.designer.cs o AdventureWorks.designer.vb situato sotto il nodo del file con estensione .dbml.

    Si noti che il file .dbml contiene la classe AdventureWorksDataContext che rappresenta il database. Contiene inoltre le classi di entità, come ad esempio le classi Product e Employee, che rappresentano le tabelle del database. Il costruttore senza parametri della classe AdventureWorksDataContext legge la stringa di connessione dal file Web.config.

  11. Aprire il file Web.config.

    Notare che l’elemento connectionStrings contiene la stringa di connessione al database AdventureWorks.

  12. Chiudere il file della classe e il file Web.config.

Per creare il modello di dati per Entity Framework

  1. Se nel sito Web non è già presente una cartella App_Code, in Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto, scegliere Aggiungi cartella ASP.NET, quindi fare clic su App_Code.

  2. Fare clic con il pulsante destro del mouse sulla cartella App_Code, quindi scegliere Aggiungi nuovo elemento.

  3. In Modelli Visual Studio installati, fare clic su ADO.NET Entity Data Model.

  4. Digitare un nome per il modello di database nella casella Nome.

    Ad esempio, immettere il nome AdventureWorks.edmx.

  5. Scegliere Aggiungi.

    Verrà visualizzata la finestra Procedura guidata Entity Data Model.

  6. Fare clic su Genera da database.

    Questa opzione indica che si desidera generare il modello da un database.

  7. In Specificare la connessione dati che deve essere utilizzata dall'applicazione per connettersi al database, selezionare AdventureWorks_Data.mdf dall'elenco.

  8. Verificare che la casella di controllo Salva impostazioni stringa di connessione entity in Web.Config come sia selezionata. È possibile lasciare il nome della stringa di connessione predefinito.

  9. Scegliere Avanti.

    Nella procedura guidata viene visualizzata una pagina in cui è possibile specificare quali oggetti di database includere nel proprio modello.

  10. Selezionare il nodo Tabelle per selezionare tutte le tabelle dal database. È possibile lasciare lo spazio dei nomi del modello predefinito.

  11. Scegliere Fine.

    Verrà visualizzato ADO.NET Entity Data Model Designer. Chiudere la finestra di progettazione.

  12. In Esplora soluzioni, aprire il file AdventureWorks.designer.cs o AdventureWorks.designer.vb situato sotto il nodo di file .edmx.

    Notare che il file .edmx contiene la classe AdventureWorksDataContext che rappresenta il database. Contiene anche le classi di entità, come ad esempio le classi Product e Employee, che rappresentano le tabelle del database.

  13. Aprire il file Web.config.

    Notare che l’elemento connectionStrings contiene la stringa di connessione al database AdventureWorks.

  14. Chiudere il file della classe e il file Web.config.

Il passaggio successivo consiste nella registrazione del modello di dati per l'utilizzo mediante Dynamic Data.

Per registrare il contesto dati

  1. Aprire il file Global.asax.

  2. Se si utilizza LINQ to SQL, aggiungere le righe seguenti nel metodo RegisterRoutes:

    model.RegisterContext(GetType(AdventureWorksDataContext), _
        New ContextConfiguration() With {.ScaffoldAllTables = True})
    
    model.RegisterContext(typeof(AdventureWorksDataContext), 
        new ContextConfiguration() { ScaffoldAllTables = true });
    

    Questo codice ha lo scopo di registrare il contesto dati LINQ to SQL per essere utilizzato da Dynamic Data e di attivare il meccanismo automatico delle pagine di supporto temporaneo del modello dati.

    Attenzione:

    L'attivazione del meccanismo delle pagine di supporto temporaneo può causare problemi di sicurezza, perché in tal modo si espongono tutte le tabelle definite nel modello dati permettendone la visualizzazione e la modifica. Per ulteriori informazioni, vedere la classe Cenni preliminari sulle pagine di supporto temporaneo e sui modelli di pagina di ASP.NET Dynamic Data.

  3. Se si utilizza Entity Framework, aggiungere le righe seguenti nel metodo RegisterRoutes:

    model.RegisterContext(GetType(AdventureWorksLT_DataModel.AdventureWorksLT_DataEntities), _
        New ContextConfiguration() With {.ScaffoldAllTables = True})
    
    model.RegisterContext(typeof(AdventureWorksLT_DataModel.AdventureWorksLT_DataEntities), 
        new ContextConfiguration() { ScaffoldAllTables = true });
    

    Questo codice ha lo scopo di registrare il contesto dati Entity Framework per essere utilizzato da Dynamic Data e di attivare il meccanismo automatico delle pagine di supporto temporaneo del modello dati.

    Attenzione:

    L'attivazione del meccanismo delle pagine di supporto temporaneo può causare problemi di sicurezza, perché in tal modo si espongono tutte le tabelle definite nel modello di dati permettendone la visualizzazione e la modifica. Per ulteriori informazioni, vedere la classe Cenni preliminari sulle pagine di supporto temporaneo e sui modelli di pagina di ASP.NET Dynamic Data.

  4. Salvare e chiudere il file Global.asax.

Test del sito Web Dynamic Data.

È ora possibile eseguire il test del sito Web Dynamic Data appena creato.

Per eseguire il test del sito Web

  1. In Esplora soluzioni, fare clic con il pulsante destro del mouse sulla pagina Default.aspx, quindi fare clic su Visualizza nel browser.

    Nella pagina viene visualizzato un elenco contenente le tabelle aggiunte al modello di dati.

  2. Fare clic su una delle tabelle. Ad esempio, fare clic sulla tabella Products.

    Verrà visualizzata una pagina contenente i dati estratti dalla tabella selezionata. Notare che per le tabelle contenenti campi di chiave esterna viene fornito un collegamento alla pagina con i dettagli della tabella a cui si fa riferimento. Quando la tabella è una tabella padre in una relazione uno-a-molti, viene fornito un collegamento alla pagina dell'elenco della tabella figlio.

  3. Fare clic sul pulsante Elimina per eliminare un record dalla tabella.

  4. Fare clic sui numeri di pagina per spostarsi tra i record.

  5. Fare clic sul pulsante Modifica per modificare un record nella tabella.

  6. Modificare i valori e fare clic su Aggiorna, oppure fare clic su Annulla per annullare l'operazione di modifica.

  7. Nella parte inferiore della pagina, fare clic sul pulsante Inserisci nuovo elemento per creare un nuovo record.

    Verrà visualizzata una pagina contenente i campi per l'immissione di dati.

  8. Digitare le informazioni del nuovo record, quindi fare clic su Inserisci, oppure fare clic su Annulla per annullare l'operazione di inserimento.

  9. Al termine chiudere il browser.

Passaggi successivi

In questa procedura dettagliata viene illustrato come creare un sito Web Dynamic Data di base senza necessità di scrivere alcuna riga di codice. Da questo punto, è possibile iniziare a esplorare le funzionalità di Dynamic Data ed estenderne il comportamento predefinito.

Vedere anche

Concetti

Cenni preliminari su ASP.NET Dynamic Data

Altre risorse

Progettazione relazionale oggetti

LINQ to SQL

ADO.NET Entity Framework