Creazione di applicazioni dati

In Visual Studio sono disponibili molti strumenti in fase di progettazione che consentono di creare applicazioni che accedono ai dati. In questa introduzione vengono forniti i cenni preliminari sui processi di base coinvolti nella creazione di applicazioni che utilizzano dati. Le informazioni qui fornite, in cui sono deliberatamente evitati molti dettagli, vanno intese come fonte generale di informazione e come punto di partenza per le numerose pagine della Guida associate alla creazione di un'applicazione dati.

Quando si sviluppano applicazioni che richiedono l'accesso ai dati in Visual Studio, possono presentarsi diverse esigenze. In alcuni casi, può essere necessario visualizzare i dati in un form. In altri casi, può invece essere necessario individuare un metodo per condividere le informazioni con altri processi o applicazioni.

A prescindere dall'utilizzo che viene fatto dei dati, è necessario comprendere alcuni concetti fondamentali. È possibile che non sorga mai la necessità di conoscere alcuni dettagli della gestione dei dati, ad esempio si può ignorare come si crea un database a livello di codice, ma è molto utile conoscere i concetti base relativi ai dati, nonché gli strumenti dei dati (procedure guidate e finestre di progettazione) disponibili in Visual Studio.

L'attività generale di utilizzo dei dati in un'applicazione può essere suddivisa in vari processi principali. Prima di procedere alla visualizzazione dei dati in un form, è ad esempio necessario connettersi a un'origine dati, possibilmente un database o un servizio che fornisce dati, e recuperare i dati da visualizzare. Dopo essere stati inseriti nell'applicazione, i dati vengono generalmente archiviati negli oggetti mediante un modello dati. Gli utenti potranno quindi aggiungere dati o modificare i dati esistenti nel modello dati. Un'applicazione probabilmente invierà nuovamente i dati modificati a un archivio dati.

Un'applicazione dati tipica utilizzerà la maggior parte dei processi illustrati nello schema seguente:

Il ciclo dei dati

Rappresentazione grafica del ciclo di dati

Quando si crea un'applicazione, è necessario pensare all'attività che si intende eseguire. Per un supporto nella ricerca degli strumenti di Visual Studio e degli oggetti disponibili, utilizzare le sezioni illustrate di seguito.

Nota

È importante ricordare che esistono le procedure guidate che consentono di semplificare molti processi illustrati nello schema precedente. La Configurazione guidata origine dati fornisce all'applicazione un numero di informazioni sufficiente a connettersi ai dati, creare un dataset tipizzato per riceverli e infine portarli all'interno dell'applicazione.

Per una rapida descrizione dell'utilizzo di Visual Studio come supporto per lo sviluppo di applicazioni dati, vedere Procedura dettagliata: creazione di un'applicazione dati semplice.

Connessione ai dati

Per portare i dati all'interno dell'applicazione e rinviare le modifiche all'origine dati, è necessario stabilire una sorta di comunicazione bidirezionale. Questa comunicazione bidirezionale viene generalmente gestita dagli oggetti del modello dati.

Ad esempio, TableAdapter consente di connettere le applicazioni che utilizzano i dataset a un database e ObjectContext di connettere le entità in Entity Framework a un database. Visual Studio fornisce diversi strumenti di supporto che possono essere utilizzati dall'applicazione per la creazione di connessioni. Per ulteriori informazioni sulla connessione dell'applicazione ai dati, vedere Connessione ai dati in Visual Studio.

Per informazioni sull'utilizzo dei dataset per connettere l'applicazione ai dati in un database, vedere Procedura dettagliata: connessione ai dati in un database (Windows Form).

Per informazioni sulla connessione ai dati mediante un modello concettuale, vedere la Guida rapida di Entity Framework.

Preparazione dell'applicazione al ricevimento di dati

Se l'applicazione utilizza un modello di dati disconnesso, è necessario archiviare temporaneamente i dati dell'applicazione mentre la si utilizza. In Visual Studio sono disponibili strumenti che consentono di creare gli oggetti utilizzati dall'applicazione per archiviare temporaneamente i dati: dataset, entità e oggetti LINQ to SQL.

Nota

Di solito, in un'applicazione che utilizza un modello di dati disconnesso si procede effettuando la connessione a un database, eseguendo una query per il passaggio di dati nell'applicazione, effettuando la disconnessione dal database e infine modificando i dati offline prima di riconnettere e aggiornare il database.

Per ulteriori informazioni sulla creazione di dataset tipizzati nell'applicazione, vedere Preparazione dell'applicazione al ricevimento di dati. Per informazioni aggiuntive sull'utilizzo dei dataset nelle applicazioni a più livelli, vedere Procedura: separare dataset e TableAdapter in progetti diversi.

Per informazioni sulla creazione di un dataset, completare le procedure illustrate in Procedura dettagliata: creazione di un dataset con Progettazione DataSet.

Per informazioni su come utilizzare la Entity Data Model Wizard per generare entità da un database, vedere How to: Create a New .edmx File (Entity Data Model Tools).

Per informazioni sulla creazione di oggetti LINQ to SQL, completare le procedure illustrate in Procedura dettagliata: creazione di classi LINQ to SQL (Progettazione relazionale oggetti).

Recupero di dati nell'applicazione

A prescindere dal fatto che nell'applicazione venga utilizzato o meno un modello di dati, è necessario essere in grado di recuperare dati all'interno di questa. Per passare dati nell'applicazione, si eseguono query o stored procedure in un database Le applicazioni che archiviano dati nei dataset eseguono query e stored procedure utilizzando TableAdapter, mentre le applicazioni che archiviano dati nelle entità eseguono query utilizzando LINQ to Entities oppure effettuando la connessione delle entità direttamente alle stored procedure. Per ulteriori informazioni sulla creazione e la modifica delle query che utilizzano TableAdapter, vedere Procedura: creare query TableAdapter e Procedura: modificare query TableAdapter.

Per ulteriori informazioni sull'utilizzo delle stored procedure con Entity Framework, vedere How to: Map Modification Functions to Stored Procedures (Entity Data Model Tools).

Per ulteriori informazioni sul caricamento dei dati nei dataset e sull'esecuzione di query e stored procedure, vedere Recupero di dati nell'applicazione.

Per informazioni sul caricamento dei dati in un dataset, completare le procedure illustrate in Procedura dettagliata: visualizzazione di dati in un Windows Form ed esaminare il codice nel gestore eventi di caricamento dei form.

Per informazioni sul caricamento dei dati negli oggetti LINQ to SQL, completare le procedure illustrate in Procedura dettagliata: creazione di classi LINQ to SQL (Progettazione relazionale oggetti).

Per informazioni sulla creazione e l'esecuzione di una query SQL, vedere Procedura: creare ed eseguire un'istruzione SQL che restituisce righe.

Per informazioni sull'esecuzione di una stored procedure, vedere Procedura: eseguire una stored procedure che restituisce righe.

Visualizzazione di dati nei form

Dopo avere inserito dati nell'applicazione, generalmente questi verranno visualizzati in un form per consentire agli utenti di visualizzarli o modificarli. In Visual Studio è disponibile la Origini dati (finestra), in cui è possibile trascinare elementi su form per creare automaticamente controlli associati a dati che consentono di visualizzare i dati. Per ulteriori informazioni sull'associazione ai dati e la visualizzazione dei dati da parte degli utenti, vedere Associazione di controlli ai dati in Visual Studio.

Per informazioni sulle modalità di presentazione dei dati agli utenti, completare i passaggi illustrati nelle procedure dettagliate seguenti, prestando particolare attenzione al processo di trascinamento degli elementi dalla finestra Origini dati:

Modifica di dati nell'applicazione

Dopo che i dati sono stati presentati agli utenti, è probabile che questi ultimi apporteranno delle variazioni aggiungendo nuovi record o modificando quelli esistenti prima di rinviarli al database.

Per ulteriori informazioni sull'utilizzo dei dati successivamente al loro caricamento nel dataset, vedere Modifica di dati nell'applicazione.

Per ulteriori informazioni sull'utilizzo dei dati in un'applicazione Entity Framework, vedere Working with Objects (Entity Framework).

Convalida dei dati

Dopo aver apportato modifiche ai dati, solitamente si effettuano delle verifiche prima di consentire che i valori modificati vengano accettati nel dataset o scritti nel database. Il processo di verifica dell'accettabilità dei nuovi valori in base ai requisiti dell'applicazione è denominato convalida. È possibile aggiungere una logica per il controllo dei valori nell'applicazione mentre sono in corso le modifiche. In Visual Studio sono disponibili strumenti che consentono di aggiungere codice per la convalida dei dati durante la modifica di colonna e righe. Per ulteriori informazioni, vedere Convalida dei dati.

Per informazioni sull'aggiunta della convalida dei dati all'applicazione, vedere Procedura dettagliata: aggiunta di convalida a un dataset.

Per informazioni su come aggiungere la convalida a un dataset separato in un'applicazione a più livelli, vedere Procedura: aggiungere la convalida a un dataset a più livelli.

Per ulteriori informazioni sulla convalida dei dati in un Entity Data Model, vedere How to: Execute Business Logic When Saving Changes (Entity Framework).

Salvataggio di dati

Dopo aver apportato le modifiche nell'applicazione e averle convalidate, generalmente si procede al relativo rinvio al database. Le applicazioni che archiviano i dati nei dataset utilizzano generalmente un TableAdapterManager per salvare i dati. Per ulteriori informazioni, vedere Panoramica di TableAdapterManager. Le applicazioni Entity Framework utilizzano il metodo SaveChanges per salvare i dati.

Per ulteriori informazioni sull'invio di dati aggiornati in un database, vedere Salvataggio di dati.

Per informazioni sull'invio di dati aggiornati da un dataset a un database, completare le procedure illustrate in Procedura dettagliata: salvataggio dei dati dalle tabelle dati correlate (aggiornamento gerarchico).

Per ulteriori informazioni sul salvataggio dei dati in un'applicazione Entity Framework, vedere Saving Changes and Managing Concurrency.

Argomenti correlati