Condividi tramite


Lavorare con i dati in Visual Studio

In Visual Studio è possibile creare applicazioni che si connettono ai dati in praticamente qualsiasi prodotto o servizio di database, in qualsiasi formato, ovunque, in un computer locale, in una rete locale o in un cloud pubblico, privato o ibrido.

Per le applicazioni in JavaScript, Python, PHP, Ruby o C++, ci si connette ai dati come si esegue qualsiasi altra operazione, ottenendo librerie e scrivendo codice. Per le applicazioni .NET, Visual Studio offre strumenti che è possibile usare per esplorare le origini dati, creare modelli a oggetti per archiviare e modificare i dati in memoria e associare i dati all'interfaccia utente. Microsoft Azure offre SDK per .NET, Java, Node.js, PHP, Python, Ruby e app per dispositivi mobili, e strumenti in Visual Studio per la connessione ad Azure Storage.

Gli elenchi seguenti mostrano solo alcuni dei numerosi sistemi di archiviazione e database che possono essere usati da Visual Studio. Le offerte di Microsoft Azure sono servizi dati che includono tutto il provisioning e l'amministrazione dell'archivio dati sottostante. Il carico di lavoro sviluppo di Azure in Visual Studio ti permette di lavorare con gli archivi dati di Azure direttamente da Visual Studio.

carico di lavoro sviluppo di Azure

La maggior parte degli altri prodotti di database SQL e NoSQL elencati qui può essere ospitata in un computer locale, in una rete locale o in Microsoft Azure in una macchina virtuale. Se si ospita il database in una macchina virtuale di Microsoft Azure, si è responsabili della gestione del database stesso.

Microsoft Azure

  • SQL Database
  • Azure Cosmos DB
  • Archiviazione (BLOB, tabelle, code, file)
  • SQL Data Warehouse
  • SQL Server Stretch Database
  • StorSimple
  • E altro ancora...

sql

  • SQL Server 2005-2016 (includono Express e LocalDB)
  • Uccello di Fuoco
  • MariaDB
  • MySQL
  • Oracle
  • PostgreSQL
  • SQLite
  • E altro ancora...

NoSQL

  • Apache Cassandra
  • CouchDB
  • MongoDB
  • NDatabase
  • OrientDB |
  • RavenDB
  • VelocityDB
  • E altro ancora...

Molti fornitori di database e terze parti supportano l'integrazione di Visual Studio dai pacchetti NuGet. È possibile esplorare le offerte su nuget.org o tramite il Gestore pacchetti NuGet in Visual Studio ( Strumenti di>Gestore pacchetti NuGet>Gestisci pacchetti NuGet per soluzione). Altri prodotti di database si integrano con Visual Studio come estensione. È possibile esplorare queste offerte nel di Visual Studio Marketplace oppure passando a estensioni >Gestisci estensioni e quindi selezionando online nel riquadro sinistro della finestra di dialogo. Per altre informazioni, vedere Sistemi di database compatibili per Visual Studio.

Usando Servizi connessi di Visual Studio, puoi semplificare il processo di aggiunta del supporto ai database per i tuoi progetti.

Per gli scenari di SQL Server supportati tramite Servizi connessi:

  • SQL Server in sede. In questo scenario si installa SQL Server in un punto qualsiasi della rete locale e ci si connette.
  • SQL Server nel computer locale. In questo scenario si installa SQL Server nel computer locale e ci si connette.
  • SQL Server Express LocalDB. Non si installano elementi diversi da Visual Studio; ci si connette solo a esso.
  • SQL Server Express LocalDB nel contenitore. LocalDB come nell'opzione precedente, ma all'interno di un contenitore locale.
  • Database di SQL Server di Azure. Connettersi al servizio in esecuzione in Azure.

Per altre tecnologie correlate ai dati, Visual Studio 2022 supporta quanto segue:

  • Archiviazione di Azure (sia locale che remota)
  • Azure Cosmos DB (locale e remoto)
  • SQLite (opzione solo locale)
  • PostgreSQL nel contenitore (opzione solo locale)
  • MongoDB nel contenitore (opzione solo locale)

Oltre ai servizi connessi, gli elenchi seguenti mostrano solo alcuni dei numerosi sistemi di archiviazione e database che possono essere usati da Visual Studio. Le offerte di di Microsoft Azure sono servizi dati che includono tutto il provisioning e l'amministrazione dell'archivio dati sottostante. Il carico di lavoro sviluppo di Azure in Visual Studio consente di usare gli archivi dati di Azure direttamente da Visual Studio.

carico di lavoro per lo sviluppo di Azure

La maggior parte degli altri prodotti di database SQL e NoSQL elencati qui può essere ospitata in un computer locale, in una rete locale o in Microsoft Azure in una macchina virtuale. Se si ospita il database in una macchina virtuale di Microsoft Azure, si è responsabili della gestione del database stesso.

Microsoft Azure

  • SQL Data Warehouse
  • SQL Server Stretch Database
  • StorSimple
  • E altro ancora...

sql

  • Firebird
  • MariaDB
  • MySQL
  • Oracle
  • E altro ancora...

NoSQL

  • Apache Cassandra
  • CouchDB
  • MongoDB
  • NDatabase
  • OrientDB |
  • RavenDB
  • VelocityDB
  • E altro ancora...

Nota

Il supporto esteso per SQL Server 2005 è terminato il 12 aprile 2016. Non esiste alcuna garanzia che gli strumenti di dati in Visual Studio 2015 e versioni successive continueranno a funzionare con SQL Server 2005.

Linguaggi .NET

La tecnologia di accesso ai dati descritta nella documentazione di Visual Studio usa ADO.NET. ADO.NET è un framework di accesso ai dati legacy e non è consigliato per le applicazioni dati moderne. È consigliabile usare .NET Core o .NET 5 e versioni successive e usare Entity Framework Core per lo sviluppo dell'accesso ai dati.

ADO.NET è un set di classi che definisce un'interfaccia per l'accesso a qualsiasi tipo di origine dati, relazionale e non relazionale. Visual Studio include diversi strumenti e finestre di progettazione che funzionano con ADO.NET per connettersi ai database, modificare i dati e presentare i dati all'utente. La documentazione di questa sezione descrive come usare questi strumenti. È anche possibile programmare direttamente utilizzando gli oggetti di comando ADO.NET. Per altre informazioni sulla chiamata diretta delle API di ADO.NET, vedere ADO.NET.

Per la documentazione sull'accesso ai dati correlata ad ASP.NET, vedere Lavorare con i dati sul sito di ASP.NET. Per un'esercitazione sull'uso di Entity Framework con ASP.NET Model-View-Controller (MVC), vedere Introduzione a Entity Framework 6 Code First con MVC 5.

Le app UWP (Universal Windows Platform) in C# o Visual Basic possono usare Microsoft Azure SDK per .NET per accedere ad Archiviazione di Azure e ad altri servizi di Azure. La classe Windows.Web.HttpClient consente la comunicazione con qualsiasi servizio RESTful. Per altre informazioni, vedere Come connettersi a un server HTTP tramite Windows.Web.Http.

Per l'archiviazione dei dati nel computer locale, l'approccio consigliato consiste nell'usare SQLite, che viene eseguito nello stesso processo dell'app. Se è necessario un livello ORM (Object-Relational Mapping), è possibile usare Entity Framework. Per altre informazioni, vedere Accesso ai dati.

Se ci si connette ai servizi di Azure, assicurarsi di scaricare gli strumenti più recenti Azure SDK.

Provider di dati

Affinché un database possa essere utilizzato in ADO.NET, deve disporre di un provider di dati ADO.NET personalizzato oppure deve esporre un'interfaccia ODBC o OLE DB. Microsoft fornisce un elenco di provider di dati ADO.NET per i prodotti SQL Server, nonché i provider ODBC e OLE DB.

Nota

Se si usa Visual Studio per connettersi ai database usando provider di dati OLEDB o ODBC, è necessario tenere presente che le versioni di Visual Studio precedenti a Visual Studio 2022 sono tutti processi a 32 bit. Ciò significa che alcuni degli strumenti di dati in Visual Studio potranno connettersi solo ai database OLEDB o ODBC usando provider di dati a 32 bit. Sono inclusi il provider di dati OLEDB a 32 bit di Microsoft Access e altri provider a 32 bit di terze parti.

Se si usa Visual Studio 2022 per connettersi ai database, è necessario tenere presente che Visual Studio 2022 è un processo a 64 bit. Ciò significa che alcuni degli strumenti di dati in Visual Studio non saranno in grado di connettersi ai database OLEDB o ODBC usando provider di dati a 32 bit.

Se è necessario gestire applicazioni a 32 bit che si connettono a database OLEDB o ODBC, sarà comunque possibile compilare ed eseguire l'applicazione con Visual Studio 2022. Tuttavia, se è necessario usare uno degli strumenti dati di Visual Studio, ad esempio Esplora server, Creazione guidata origine dati o Progettazione set di dati, sarà necessario usare una versione precedente di Visual Studio che è ancora un processo a 32 bit. L'ultima versione di Visual Studio che era un processo a 32 bit era Visual Studio 2019.

Se si prevede di convertire il progetto in un processo a 64 bit, è consigliabile usare il motore di database di Microsoft Access a 64 bit, detto anche Access Connectivity Engine (ACE). Per ulteriori informazioni, vedere OLE DB Provider per Jet e il driver ODBC sono disponibili solo in versioni a 32 bit.

Modellazione dei dati

In .NET sono disponibili tre opzioni per la modellazione e la modifica dei dati in memoria dopo averla recuperata da un'origine dati:

  • Entity Framework: tecnologia Microsoft ORM preferita. È possibile utilizzarlo per programmare utilizzando dati relazionali come oggetti .NET di prima classe. Per le nuove applicazioni, deve essere la prima scelta predefinita quando è necessario un modello. Richiede il supporto personalizzato del provider di ADO.NET sottostante.

  • LINQ to SQL: un mappatore relazionale-oggetti di generazione precedente. Funziona bene per scenari meno complessi, ma non è più in fase di sviluppo attivo.

  • Dataset: la più antica delle tre tecnologie di modellazione. È progettato principalmente per lo sviluppo rapido di applicazioni di moduli sui dati in cui non vengono elaborate grandi quantità di dati né vengono eseguite query o trasformazioni complesse. Un oggetto DataSet è costituito da oggetti DataTable e DataRow che assomigliano logicamente a oggetti di database SQL molto più di oggetti .NET. Per applicazioni relativamente semplici basate su origini dati SQL, i set di dati potrebbero comunque essere una scelta ottimale.

Non è necessario usare alcuna di queste tecnologie. In alcuni scenari, in particolare quando le prestazioni sono critiche, è sufficiente utilizzare un oggetto DataReader per leggere dal database e copiare i valori necessari in un oggetto di raccolta, come ad esempio List<T>.

C++ nativo

Le applicazioni C++ che si connettono a SQL Server devono usare la Microsoft® ODBC Driver 13.1 per SQL Server nella maggior parte dei casi. Se i server sono collegati, OLE DB è necessario e per questo si usa il SQL Server Native Client. È possibile accedere ad altri database utilizzando direttamente i driver ODBC o OLE DB. ODBC è l'interfaccia di database standard corrente, ma la maggior parte dei sistemi di database fornisce funzionalità personalizzate a cui non è possibile accedere tramite l'interfaccia ODBC. OLE DB è una tecnologia legacy di accesso ai dati COM ancora supportata ma non consigliata per le nuove applicazioni. Per altre informazioni, vedere Accesso ai dati in Visual C++.

I programmi C++ che usano i servizi REST possono usare C++ REST SDK.

Modellazione dei dati: Visual Studio non fornisce un livello ORM per C++. ODB è un ORM open source diffuso per C++.

Per altre informazioni sulla connessione ai database dalle app C++, vedere Strumenti dati di Visual Studio per C++.

JavaScript

JavaScript in Visual Studio è un linguaggio di prima classe per la creazione di app multipiattaforma, app UWP, servizi cloud, siti Web e app Web. È possibile usare Bower, Grunt, Gulp, npm e NuGet da Visual Studio per installare le librerie e i prodotti di database JavaScript preferiti. Connetti ad Azure Storage e ai servizi scaricando gli SDK dal sito Web di Azure . Edge.js è una libreria che connette JavaScript sul lato server (Node.js) alle origini dati ADO.NET.

Pitone

Installare supporto python in Visual Studio per creare applicazioni Python. La documentazione di Azure include diverse esercitazioni sulla connessione ai dati, tra cui:

Microsoft Azure Storage— Descrive Azure Storage e come creare applicazioni usando BLOB, Tabelle, Code e File di Azure.

database SQL di Azure: descrive come connettersi al database SQL di Azure, un database relazionale come servizio.

SQL Server Data Tools: descrive gli strumenti che semplificano la progettazione, l'esplorazione, il test e la distribuzione di applicazioni e database connessi ai dati.

ADO.NET: descrive l'architettura ADO.NET e come usare le classi ADO.NET per gestire i dati dell'applicazione e interagire con origini dati e XML.

ADO.NET Entity Framework: descrive come creare applicazioni dati che consentono agli sviluppatori di programmare in base a un modello concettuale anziché direttamente in un database relazionale.

WCF Data Services 4.5: descrive come usare WCF Data Services per distribuire i servizi dati sul Web o una intranet che implementa l'Open Data Protocol (OData).

dati nelle soluzioni Office: contiene collegamenti ad argomenti che illustrano il funzionamento dei dati nelle soluzioni Office. Sono incluse informazioni sulla programmazione orientata allo schema, la memorizzazione nella cache dei dati e l'accesso ai dati lato server.

LINQ (Language Integrated Query): descrive le funzionalità di query integrate in C# e Visual Basic e il modello comune per l'esecuzione di query su database relazionali, documenti XML, set di dati e raccolte in memoria.

STRUMENTI XML in Visual Studio— tratta l'utilizzo dei dati XML, il debug di XSLT, le funzionalità XML di .NET e l'architettura delle query XML.

documenti e dati XML: offre una panoramica di un set completo e integrato di classi che funzionano con documenti e dati XML in .NET.