Usare 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 a Archiviazione di Azure.

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 consente di usare gli archivi dati di Azure direttamente da Visual Studio.

Carico 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

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

SQL

  • SQL Server 2005-2016 (include Express e Local DB)
  • Firebird
  • 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 in nuget.org o tramite la Gestione pacchetti NuGet in Visual Studio (Strumenti>NuGet Gestione pacchetti> Gestisci pacchetti NuGet per la soluzione). Altri prodotti di database si integrano con Visual Studio come estensione. È possibile esplorare queste offerte in Visual Studio Marketplace o passare a Estensioni Gestisci estensioni> e quindi selezionare Online nel riquadro sinistro della finestra di dialogo. Per altre informazioni, vedere Sistemi di database compatibili per Visual Studio.

Usando Visual Studio Connessione ed Services, è possibile semplificare il processo di aggiunta del supporto del database ai progetti.

Per gli scenari di SQL Server supportati tramite servizi Connessione ed:

  • SQL Server locale. 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.
  • LocalDB di SQL Server Express. Non si installano elementi diversi da Visual Studio; ci si connette solo a esso.
  • SQL Server Express Local DB nel contenitore. Local DB come nell'opzione precedente, ma all'interno di un contenitore locale.
  • Database di SQL Server di Azure. Connessione al servizio in esecuzione in Azure.

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

  • Archiviazione di Azure (sia locale che remoto)
  • 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 Connessione ed, 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 consente di usare gli archivi dati di Azure direttamente da Visual Studio.

Carico 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. Per altre informazioni, vedere l'annuncio di fine del supporto per 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, sia relazionale che 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 sugli oggetti comando ADO.NET. Per altre informazioni sulla chiamata diretta delle API ADO.NET, vedere ADO.NET.

Per la documentazione sull'accesso ai dati correlata alle ASP.NET, vedere Uso dei dati nel 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 piattaforma UWP (Universal Windows Platform) (UWP) in C# o Visual Basic possono usare il Microsoft Azure SDK per .NET per accedere a 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 nel Centro per sviluppatori Windows.

Se ci si connette ai servizi di Azure, assicurarsi di scaricare gli strumenti più recenti di 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, denominato anche Access Connessione ivity Engine (ACE). Per altre informazioni, vedere Provider OLE DB per Jet e ODBC Driver are 32-bit versions only for Jet and ODBC driver are 32-bit versions only for more information.

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 La tecnologia Microsoft ORM preferita. È possibile usarlo per programmare i 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 mapper relazionale a oggetti di generazione precedente. Funziona bene per scenari meno complessi, ma non è più in fase di sviluppo attivo.

Set di dati Il meno recente delle tre tecnologie di modellazione. È progettato principalmente per lo sviluppo rapido di applicazioni "moduli su dati" in cui non si elaborano grandi quantità di dati o si eseguono query o trasformazioni complesse. Un oggetto DataSet è costituito da oggetti DataTable e DataRow che assomigliano logicamente database SQL oggetti 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 usare un oggetto DataReader per leggere dal database e copiare i valori necessari in un oggetto raccolta, ad esempio List<T>.

C++ nativo

Le applicazioni C++ che si connettono a SQL Server devono usare Microsoft ® ODBC Driver 13.1 per SQL Server nella maggior parte dei casi. Se i server sono collegati, OLE DB è necessario e per tale scopo si usa SQL Server Native Client. È possibile accedere ad altri database usando 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.

I programmi C++ che funzionano con Archiviazione di Microsoft Azure possono usare il client Archiviazione di Microsoft Azure.

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++. Per altre informazioni sulle tecnologie di accesso ai dati di Visual C++ legacy, vedere Accesso ai dati.

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. Connessione per Archiviazione di Azure e 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.

Python

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

Piattaforma microsoft per intelligenza artificiale: fornisce un'introduzione al cloud intelligente Microsoft, tra cui Cortana Analytics Suite e il supporto per Internet delle cose.

Archiviazione di Microsoft Azure: descrive Archiviazione di Azure e come creare applicazioni usando BLOB, tabelle, code e file di Azure.

database SQL di Azure: descrive come connettersi a 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 su 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 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 incorporate 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: illustra l'uso dei dati XML, il debug delle funzionalità XSLT, .NET XML e l'architettura di 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.