Dela via


Arbeta med data i Visual Studio

I Visual Studio kan du skapa program som ansluter till data i praktiskt taget vilken databasprodukt eller tjänst som helst, i valfritt format, var som helst – på en lokal dator, i ett lokalt nätverk eller i ett offentligt, privat eller hybridmoln.

För program i JavaScript, Python, PHP, Ruby eller C++ansluter du till data som du gör något annat genom att hämta bibliotek och skriva kod. För .NET-program tillhandahåller Visual Studio verktyg som du kan använda för att utforska datakällor, skapa objektmodeller för att lagra och manipulera data i minnet och binda data till användargränssnittet. Microsoft Azure tillhandahåller SDK:er för .NET, Java, Node.js, PHP, Python, Ruby och mobilappar samt verktyg i Visual Studio för anslutning till Azure Storage.

Följande listor visar bara några av de många databas- och lagringssystem som kan användas från Visual Studio. Microsoft Azure-erbjudanden är datatjänster som omfattar all etablering och administration av det underliggande datalagret. Med arbetsbelastningen Azure Development i Visual Studio kan du arbeta med Azure-datalager direkt från Visual Studio.

arbetsbelastning för Azure-utveckling

De flesta andra SQL- och NoSQL-databasprodukter som visas här kan finnas på en lokal dator, i ett lokalt nätverk eller i Microsoft Azure på en virtuell dator. Om du är värd för databasen på en virtuell Microsoft Azure-dator ansvarar du för att hantera själva databasen.

Microsoft Azure

  • SQL Database
  • Azure Cosmos DB
  • Lagring (blobar, tabeller, köer, filer)
  • SQL Data Warehouse
  • SQL Server Stretch Database
  • StorSimple
  • Och mer...

SQL

  • SQL Server 2005-2016 (inkluderar Express och LocalDB)
  • Firebird
  • MariaDB
  • MySQL
  • Orakel
  • PostgreSQL
  • SQLite
  • Och mer...

NoSQL

  • Apache Cassandra
  • CouchDB
  • MongoDB
  • NDatabase
  • OrientDB|
  • RavenDB
  • VelocityDB
  • Och mer...

Många databasleverantörer och tredje part stöder Visual Studio-integrering med NuGet-paket. Du kan utforska erbjudandena på nuget.org eller via NuGet Package Manager i Visual Studio (Tools>NuGet Package Manager>Manage NuGet Packages for Solution). Andra databasprodukter integreras med Visual Studio som ett tillägg. Du kan bläddra bland dessa erbjudanden i Visual Studio Marketplace eller genom att gå till Tillägg>Hantera tillägg och sedan välja Online i den vänstra rutan i dialogrutan. Mer information finns i Kompatibla databassystem för Visual Studio.

Genom att använda Visual Studio Connected Serviceskan du förenkla processen med att lägga till databasstöd i dina projekt.

För SQL Server-scenarier som vi stöder via Anslutna tjänster:

  • SQL Server lokalt. I det här scenariot installerar du SQL Server någonstans i ditt lokala nätverk och ansluter till den.
  • SQL Server på den lokala datorn. I det här scenariot installerar du SQL Server på den lokala datorn och ansluter till den.
  • SQL Server Express LocalDB. Du installerar inte något annat än Visual Studio. ansluter du bara till den.
  • SQL Server Express LocalDB på Container. LocalDB som i föregående alternativ, men i en lokal container.
  • Azure SQL Server DB. Anslut till tjänsten som körs live i Azure.

För andra datarelaterade tekniker stöder Visual Studio 2022 följande:

  • Azure Storage (både lokalt och fjärranslutet)
  • Azure Cosmos DB (både lokalt och fjärranslutet)
  • SQLite (lokalt alternativ)
  • PostgreSQL på container (lokalt alternativ)
  • MongoDB på container (lokalt alternativ)

Förutom Anslutna tjänster visar följande listor bara några av de många databas- och lagringssystem som kan användas från Visual Studio. Microsoft Azure-erbjudanden är datatjänster som omfattar all etablering och administration av det underliggande datalagret. Med arbetsbelastningen Azure Development i Visual Studio kan du arbeta med Azure-datalager direkt från Visual Studio.

arbetsbelastning för Azure-utveckling

De flesta andra SQL- och NoSQL-databasprodukter som visas här kan finnas på en lokal dator, i ett lokalt nätverk eller i Microsoft Azure på en virtuell dator. Om du är värd för databasen på en virtuell Microsoft Azure-dator ansvarar du för att hantera själva databasen.

Microsoft Azure

  • SQL Data Warehouse
  • SQL Server Stretch Database
  • StorSimple
  • Och mer...

SQL

  • Firebird
  • MariaDB
  • MySQL
  • Orakel
  • Och mer...

NoSQL

  • Apache Cassandra
  • CouchDB
  • MongoDB
  • NDatabase
  • OrientDB|
  • RavenDB
  • VelocityDB
  • Och mer...

Note

Utökat stöd för SQL Server 2005 upphörde den 12 april 2016. Det finns ingen garanti för att dataverktyg i Visual Studio 2015 och senare fortsätter att fungera med SQL Server 2005.

.NET-språk

Dataåtkomsttekniken som beskrivs i Visual Studio-dokumentationen använder ADO.NET. ADO.NET är ett äldre ramverk för dataåtkomst och rekommenderas inte för moderna dataprogram. Vi rekommenderar att du riktar in dig på .NET Core eller .NET 5 och senare och använder Entity Framework Core- för dataåtkomstutveckling.

ADO.NET är en uppsättning klasser som definierar ett gränssnitt för åtkomst till alla typer av datakällor, både relationella och icke-relationella. Visual Studio har flera verktyg och designers som arbetar med ADO.NET som hjälper dig att ansluta till databaser, manipulera data och presentera data för användaren. Dokumentationen i det här avsnittet beskriver hur du använder dessa verktyg. Du kan också programmera direkt mot ADO.NET kommandoobjekt. Mer information om hur du anropar ADO.NET API:er direkt finns i ADO.NET.

Dokumentation om dataåtkomst som rör ASP.NET finns i Arbeta med data på ASP.NET-webbplatsen. För en handledning om hur du använder Entity Framework med ASP.NET Model-View-Controller (MVC), se Komma igång med Entity Framework 6 Code First med MVC 5.

UWP-appar (Universal Windows Platform) i C# eller Visual Basic kan använda Microsoft Azure SDK för .NET för att få åtkomst till Azure Storage och andra Azure-tjänster. Klassen Windows.Web.HttpClient möjliggör kommunikation med valfri RESTful-tjänst. Mer information finns i Så här ansluter du till en HTTP-server med hjälp av Windows.Web.Http.

För datalagring på den lokala datorn är den rekommenderade metoden att använda SQLite, som körs i samma process som appen. Om ett ORM-lager (object-relational mapping) krävs kan du använda Entity Framework. Mer information finns i Dataåtkomst.

Om du ansluter till Azure-tjänster måste du ladda ned de senaste Azure SDK-verktygen.

Dataprovidrar

För att en databas ska kunna användas i ADO.NET måste den ha en anpassad ADO.NET dataprovider, annars måste den exponera ett ODBC- eller OLE DB-gränssnitt. Microsoft tillhandahåller en lista över ADO.NET dataprovidrar för SQL Server-produkter samt ODBC- och OLE DB-leverantörer.

Not

Om du använder Visual Studio för att ansluta till databaser med OLEDB- eller ODBC-dataproviders måste du vara medveten om att versioner av Visual Studio före Visual Studio 2022 alla är 32-bitarsprocesser. Det innebär att vissa dataverktyg i Visual Studio bara kan ansluta till OLEDB- eller ODBC-databaser med hjälp av 32-bitars dataprovidrar. Detta inkluderar Microsoft Access 32-bitars OLEDB-dataprovider samt andra 32-bitars providers från tredje parten.

Om du använder Visual Studio 2022 för att ansluta till databaser måste du vara medveten om att Visual Studio 2022 är en 64-bitarsprocess. Det innebär att vissa dataverktyg i Visual Studio inte kommer att kunna ansluta till OLEDB- eller ODBC-databaser med hjälp av 32-bitars dataprovidrar.

Om du behöver underhålla 32-bitarsprogram som ansluter till OLEDB- eller ODBC-databaser kan du fortfarande skapa och köra programmet med Visual Studio 2022. Men om du behöver använda något av Visual Studio Data Tools, till exempel Server Explorer, datakällsguiden eller DataSet Designer, måste du använda en tidigare version av Visual Studio som fortfarande är en 32-bitarsprocess. Den senaste versionen av Visual Studio som var en 32-bitarsprocess var Visual Studio 2019.

Om du planerar att konvertera projektet till en 64-bitarsprocess rekommenderar vi att du använder 64-bitars Microsoft Access-databasmotorn, även kallad Access Connectivity Engine (ACE). Mer information finns i OLE DB-provider för Jet och ODBC-drivrutin är endast 32-bitarsversioner.

Datamodellering

I .NET har du tre alternativ för att modellera och manipulera data i minnet när du har hämtat dem från en datakälla:

  • Entity Framework: Önskad Microsoft ORM-teknik. Du kan använda den för att programmera mot relationsdata som förstklassiga .NET-objekt. För nya program bör det vara det första standardalternativet när en modell krävs. Det kräver anpassat stöd från den underliggande ADO.NET-providern.

  • LINQ till SQL: En tidigare generations objektrelationsmappare. Det fungerar bra för mindre komplexa scenarier men är inte längre i aktiv utveckling.

  • Datauppsättningar: Den äldsta av de tre modelleringsteknikerna. Den är främst utformad för snabb utveckling av "formulär över data"-program där du inte bearbetar stora mängder data eller utför komplexa frågor eller transformeringar. Ett DataSet-objekt består av DataTable- och DataRow-objekt som logiskt liknar SQL Database-objekt som är mycket mer än .NET-objekt. För relativt enkla program baserade på SQL-datakällor kan datauppsättningar fortfarande vara ett bra val.

Det finns inget krav på att använda någon av dessa tekniker. I vissa scenarier, särskilt när prestandan är kritisk, kan du helt enkelt använda ett DataReader-objekt för att läsa från databasen och kopiera de värden som du behöver till ett samlingsobjekt, till exempel List<T>.

Ursprunglig C++

C++-program som ansluter till SQL Server bör i de flesta fall använda Microsoft® ODBC Driver 13.1 för SQL Server. Om servrarna är länkade är OLE DB nödvändigt och för det använder du SQL Server Native Client. Du kan komma åt andra databaser med hjälp av ODBC-- eller OLE DB-drivrutiner direkt. ODBC är det aktuella standarddatabasgränssnittet, men de flesta databassystem tillhandahåller anpassade funktioner som inte kan nås via ODBC-gränssnittet. OLE DB är en äldre COM-dataåtkomstteknik som fortfarande stöds men inte rekommenderas för nya program. Mer information finns i Data Access i Visual C++.

C++-program som använder REST-tjänster kan använda C++ REST SDK.

Datamodellering – Visual Studio tillhandahåller inte ett ORM-lager för C++. ODB är en populär ORM med öppen källkod för C++.

Mer information om hur du ansluter till databaser från C++-appar finns i Visual Studio-dataverktyg för C++.

JavaScript

JavaScript i Visual Studio är ett förstklassigt språk för att skapa plattformsoberoende appar, UWP-appar, molntjänster, webbplatser och webbappar. Du kan använda Bower, Grunt, Gulp, npm och NuGet inifrån Visual Studio för att installera dina JavaScript-favoritbibliotek och databasprodukter. Anslut till Azure Storage och tjänster genom att ladda ned SDK:er från Azure-webbplatsen. Edge.js är ett bibliotek som ansluter JavaScript på serversidan (Node.js) till ADO.NET datakällor.

Python

Installera Python-stöd i Visual Studio för att skapa Python-program. Azure-dokumentationen innehåller flera självstudier om hur du ansluter till data, inklusive följande:

Microsoft Azure Storage– Beskriver Azure Storage och hur du skapar program med hjälp av Azure-blobbar, tabeller, köer och filer.

Azure SQL Database– Beskriver hur du ansluter till Azure SQL Database, en relationsdatabas som en tjänst.

SQL Server Data Tools– Beskriver de verktyg som förenklar design, utforskning, testning och distribution av dataanslutna program och databaser.

ADO.NET– Beskriver ADO.NET-arkitekturen och hur du använder de ADO.NET klasserna för att hantera programdata och interagera med datakällor och XML.

ADO.NET Entity Framework– Beskriver hur du skapar dataprogram som gör det möjligt för utvecklare att programmera mot en konceptuell modell i stället för direkt mot en relationsdatabas.

WCF Data Services 4.5– Beskriver hur du använder WCF Data Services för att distribuera datatjänster på webben eller ett intranät som implementerar Open Data Protocol (OData).

Data i Office Solutions– Innehåller länkar till ämnen som förklarar hur data fungerar i Office-lösningar. Detta omfattar information om schemaorienterad programmering, datacachelagring och dataåtkomst på serversidan.

LINQ (Language Integrated Query)– Beskriver de frågefunktioner som är inbyggda i C# och Visual Basic och den gemensamma modellen för att fråga relationsdatabaser, XML-dokument, datauppsättningar och minnesinterna samlingar.

XML-verktyg i Visual Studio– Diskuterar hur du arbetar med XML-data, felsöker XSLT, .NET XML-funktioner och xml-frågans arkitektur.

XML-dokument och data– Ger en översikt över en omfattande och integrerad uppsättning klasser som fungerar med XML-dokument och data i .NET.