Condividi tramite


Cenni preliminari sul modello di ASP.NET Dynamic Data

Aggiornamento: Luglio 2008

Il modello dati rappresenta le informazioni che si trovano in un database e come gli elementi nel database sono correlati tra loro. ASP.NET Dynamic Data utilizza i modelli dati che rappresentano i dati come tipi CLR. Supporta i modelli dati LINQ to SQL e ADO.NET Entity Framework.

Tramite il modello dati è possibile controllare l'aspetto e il comportamento dei campi dati ed eseguire la convalida automatica con una quantità ridotta di codice o senza codice. È inoltre possibile personalizzare il modello dati per influire sulla convalida dei campi dati e sul rendering dell'interfaccia utente per la visualizzazione e la modifica di tali campi dati.

La comprensione e l'utilizzo del modello dati consentono di eseguire le operazioni seguenti:

  • Rendere più riutilizzabile il codice creando la logica relativa ai dati al livello dati anziché incorporandola al livello di presentazione.

  • Personalizzare la convalida dei campi dati nel livello dati.

  • Personalizzare l'aspetto e il comportamento dei campi dati mediante l'applicazione di metadati.

In questo argomento sono contenute le seguenti sezioni:

  • Informazioni di supporto

  • Visualizzazione e modifica dei campi dati

  • Convalida dei campi dati

  • Informazioni aggiuntive

Informazioni di supporto

Dynamic Data supporta i modelli dati LINQ to SQL e Entity Framework inclusi in NET Framework. Questi modelli contengono tipi CLR che Dynamic Data utilizza per eseguire una query sul database e per eseguire operazioni di creazione, lettura, aggiornamento ed eliminazione (CRUD). I modelli consentono di integrare con facilità le regole relative alla convalida dei dati e alla logica di business nel modello dati.

Quando si crea un nuovo progetto in Visual Studio 2008, è possibile selezionare il modello Classi LINQ to SQL o ADO.NET Entity Data Model. Questa selezione determina il tipo di modello utilizzato dal progetto, vale a dire, se utilizzare un modello LINQ to SQL o Entity Framework. Le pagine di supporto temporaneo di Dynamic Data possono supportare solo uno dei tipi di modello dati nello stesso progetto.

In fase di esecuzione, Dynamic Data estrae automaticamente le informazioni sul modello dati, ad esempio le proprietà del campo dati. Da queste informazioni, deriva come creare l'interfaccia utente per la visualizzazione e la modifica dei dati. Per eseguire il rendering dell'interfaccia utente, utilizza i modelli di campo. A tale scopo utilizza ad esempio le informazioni seguenti:

  • Informazioni sulle associazioni tra tabelle per visualizzare le colonne di chiave esterna e spostarsi tra di esse.

  • Informazioni sul tipo di dati per aggiungere la convalida per un campo dati. Ad esempio, le informazioni sulla colonna null possono essere utilizzate per determinare se è richiesto un campo dati e le informazioni sulla lunghezza possono essere utilizzate per limitare la lunghezza massima dell'input di testo dell'utente.

Per ulteriori informazioni, vedere la classe Procedura: personalizzare l'aspetto e il comportamento dei campi dati nel modello di dati.

Visualizzazione e modifica dei campi dati

Dynamic Data utilizza i metadati del modello dati per determinare automaticamente quali modelli di campo utilizzare per eseguire il rendering dell'interfaccia utente per la visualizzazione e la modifica dei campi dati. I modelli di campo sono controlli utente che Dynamic Data fornisce per visualizzare e modificare i campi dati in base ai rispettivi tipi di dati intrinseci. Per eseguire il rendering di un tipo di dati, Dynamic Data esegue una ricerca tramite il modello dati, cercando le classi alle quali è applicato l'attributo UIHintAttribute.

Se l'attributo esiste, specifica quale modello di campo utilizzare per visualizzare e modificare un particolare tipo di campo dati. Se non esiste alcun attributo, Dynamic Data cerca un modello di campo il cui nome corrisponde al tipo di campo dati. Ad esempio, per visualizzare un valore integer, Dynamic Data cerca un modello di campo denominato Integer.ascx. Per ulteriori informazioni, vedere Cenni preliminari sui modelli di campo di ASP.NET Dynamic Data.

Dynamic Data consente di personalizzare ed estendere l'interfaccia utente di cui è stato eseguito il rendering per la visualizzazione e la modifica dei campi dati. È possibile applicare le seguenti personalizzazioni:

Convalida dei campi dati

Dynamic Data supporta la convalida dei campi dati in base al modello dati che include i seguenti tipi di convalida:

  • Convalida dei campi obbligatori. Se un campo dati non può essere null, Dynamic Data impone che venga fornito un valore per il campo.

  • Convalida della lunghezza. Se un campo del database è una stringa, Dynamic Data applica la lunghezza massima del campo.

  • Convalida del tipo. Dynamic Data impone che il valore di input dell'utente corrisponda al tipo di dati intrinseco per un campo dati.

Dynamic Data consente di personalizzare ed estendere la convalida dei campi dati nel modo seguente:

  • Utilizzo degli attributi. È necessario utilizzare questo approccio quando si desidera applicare una convalida aggiuntiva a quanto già fornito da Dynamic Data e gli attributi System.ComponentModel.DataAnnotations predefiniti sono sufficienti per soddisfare le proprie esigenze.

  • Utilizzo di metodi di classi parziali. È possibile personalizzare la convalida e aggiungere la logica di business eseguendo l'override di metodi parziali che elaborano le modifiche apportate ai campi dati. È necessario utilizzare questo approccio quando si desidera aggiungere la logica di business comune al modello dati che non può essere gestito dagli attributi.

Per ulteriori informazioni, vedere la classe Procedura: personalizzare la convalida dei campi dati nel modello di dati.

Informazioni aggiuntive

Per ulteriori informazioni su Dynamic Data, vedere i seguenti argomenti:

Torna all'inizio

Vedere anche

Attività

Procedura dettagliata: aggiunta di Dynamic Data a un sito Web esistente

Procedura dettagliata: aggiunta di Dynamic Data a un sito Web esistente

Concetti

Cenni preliminari sui modelli di campo di ASP.NET Dynamic Data

Cenni preliminari sulle pagine di supporto temporaneo e sui modelli di pagina di ASP.NET Dynamic Data

Cenni preliminari su ASP.NET Dynamic Data

Riferimenti

System.ComponentModel.DataAnnotations

Cronologia delle modifiche

Date

History

Motivo

Luglio 2008

Argomento aggiunto.

Modifica di funzionalità in SP1.