Werken met gegevens in Visual Studio
In Visual Studio kunt u toepassingen maken die verbinding maken met gegevens in vrijwel elk databaseproduct of elke service, in elke indeling, op een lokale computer, op een lokaal netwerk of in een openbare, privécloud of in een hybride cloud.
Voor toepassingen in JavaScript, Python, PHP, Ruby of C++maakt u verbinding met gegevens zoals u iets anders doet, door bibliotheken te verkrijgen en code te schrijven. Voor .NET-toepassingen biedt Visual Studio hulpprogramma's die u kunt gebruiken om gegevensbronnen te verkennen, objectmodellen te maken om gegevens in het geheugen op te slaan en te bewerken en gegevens te binden aan de gebruikersinterface. Microsoft Azure biedt SDK's voor .NET, Java, Node.js, PHP, Python, Ruby en mobiele apps en hulpprogramma's in Visual Studio om verbinding te maken met Azure Storage.
In de volgende lijsten ziet u slechts enkele van de vele database- en opslagsystemen die kunnen worden gebruikt vanuit Visual Studio. De Microsoft Azure-aanbiedingen zijn gegevensservices die alle inrichting en beheer van het onderliggende gegevensarchief omvatten. Met de Azure-ontwikkelworkload in Visual Studio- kunt u rechtstreeks vanuit Visual Studio met Azure-gegevensarchieven werken.
De meeste andere SQL- en NoSQL-databaseproducten die hier worden vermeld, kunnen worden gehost op een lokale computer, op een lokaal netwerk of in Microsoft Azure op een virtuele machine. Als u de database op een virtuele Machine van Microsoft Azure host, bent u verantwoordelijk voor het beheren van de database zelf.
Microsoft Azure
- SQL Database
- Azure Cosmos DB
- Opslag (blobs, tabellen, wachtrijen, bestanden)
- SQL Data Warehouse
- SQL Server Stretch Database
- StorSimple
- En meer...
SQL
- SQL Server 2005-2016 (inclusief Express en LocalDB)
- Firebird
- MariaDB
- MySQL
- Orakel
- PostgreSQL
- SQLite
- En meer...
NoSQL
- Apache Cassandra
- CouchDB
- MongoDB
- NDatabase
- OrientDB |
- RavenDB
- VelocityDB
- En meer...
Veel databaseleveranciers en derden ondersteunen Visual Studio-integratie door NuGet-pakketten. U kunt de aanbiedingen op nuget.org of via NuGet Package Manager in Visual Studio (Tools>NuGet Package Manager>NuGet Package Manager beheren voor Solution) verkennen. Andere databaseproducten kunnen als extensie worden geïntegreerd met Visual Studio. U kunt deze aanbiedingen bekijken op de Visual Studio Marketplace- of door te navigeren naar Extensies>Extensies beheren en vervolgens Online- te selecteren in het linkerpaneel van het dialoogvenster. Zie Compatibele databasesystemen voor Visual Studiovoor meer informatie.
Door Visual Studio Connected Serviceste gebruiken, kunt u het proces van het toevoegen van databaseondersteuning aan uw projecten vereenvoudigen.
Voor SQL Server-scenario's ondersteunen we via Verbonden Services:
- SQL Server op locatie. In dit scenario installeert u SQL Server ergens in uw lokale netwerk en maakt u er verbinding mee.
- SQL Server op uw lokale computer. In dit scenario installeert u SQL Server op uw lokale computer en maakt u er verbinding mee.
- SQL Server Express LocalDB. U installeert niets anders dan Visual Studio; U maakt er gewoon verbinding mee.
- SQL Server Express LocalDB op een container. LocalDB zoals in de vorige optie, maar binnen een lokale container.
- Azure SQL Server DB. Maak verbinding met de service die live wordt uitgevoerd in Azure.
Voor andere gegevensgerelateerde technologieën ondersteunt Visual Studio 2022 het volgende:
- Azure Storage (zowel lokaal als extern)
- Azure Cosmos DB (zowel lokaal als extern)
- SQLite (optie alleen lokaal)
- PostgreSQL op container (optie alleen lokaal)
- MongoDB op container (optie alleen lokaal)
Naast Connected Services worden in de volgende lijsten slechts enkele van de vele database- en opslagsystemen weergegeven die kunnen worden gebruikt vanuit Visual Studio. De Microsoft Azure-aanbiedingen zijn gegevensservices die alle inrichting en beheer van het onderliggende gegevensarchief omvatten. Met de Azure-ontwikkelworkload in Visual Studio- kunt u rechtstreeks vanuit Visual Studio met Azure-gegevensarchieven werken.
De meeste andere SQL- en NoSQL-databaseproducten die hier worden vermeld, kunnen worden gehost op een lokale computer, op een lokaal netwerk of in Microsoft Azure op een virtuele machine. Als u de database op een virtuele Machine van Microsoft Azure host, bent u verantwoordelijk voor het beheren van de database zelf.
Microsoft Azure
- SQL Data Warehouse
- SQL Server Stretch Database
- StorSimple
- En meer...
SQL
- Firebird
- MariaDB
- MySQL
- Orakel
- En meer...
NoSQL
- Apache Cassandra
- CouchDB
- MongoDB
- NDatabase
- OrientDB |
- RavenDB
- VelocityDB
- En meer...
Notitie
Uitgebreide ondersteuning voor SQL Server 2005 is beëindigd op 12 april 2016. Er is geen garantie dat gegevenshulpprogramma's in Visual Studio 2015 en hoger blijven werken met SQL Server 2005.
.NET-talen
De technologie voor gegevenstoegang die in de Visual Studio-documentatie wordt beschreven, maakt gebruik van ADO.NET. ADO.NET is een verouderd framework voor gegevenstoegang en wordt niet aanbevolen voor moderne gegevenstoepassingen. We raden u aan .NET Core of .NET 5 en hoger te richten en Entity Framework Core- te gebruiken voor ontwikkeling van gegevenstoegang.
ADO.NET is een set klassen die een interface definieert voor toegang tot elk type gegevensbron, zowel relationeel als niet-relationeel. Visual Studio heeft verschillende hulpprogramma's en ontwerpers die met ADO.NET werken om u te helpen verbinding te maken met databases, de gegevens te manipuleren en de gegevens aan de gebruiker te presenteren. In de documentatie in deze sectie wordt beschreven hoe u deze hulpprogramma's gebruikt. U kunt ook rechtstreeks programmeren op de ADO.NET opdrachtobjecten. Zie ADO.NETvoor meer informatie over het rechtstreeks aanroepen van de ADO.NET API's.
Zie Werken met gegevens op de ASP.NET site voor documentatie over gegevenstoegang die betrekking heeft op ASP.NET. Zie voor een zelfstudie over het gebruik van Entity Framework met ASP.NET Model-View-Controller (MVC) Aan de slag met Entity Framework 6 Code First met MVC 5.
UWP-apps (Universal Windows Platform) in C# of Visual Basic kunnen de Microsoft Azure SDK voor .NET gebruiken voor toegang tot Azure Storage en andere Azure-services. De klasse Windows.Web.HttpClient maakt communicatie mogelijk met elke RESTful-service. Zie Verbinding maken met een HTTP-server met behulp van Windows.Web.Httpvoor meer informatie.
Voor gegevensopslag op de lokale computer is de aanbevolen methode om SQLite te gebruiken, die wordt uitgevoerd in hetzelfde proces als de app. Als een ORM-laag (object-relationele mapping) vereist is, kunt u Entity Framework gebruiken. Zie Data Accessvoor meer informatie.
Als u verbinding maakt met Azure-services, moet u de nieuwste Azure SDK-hulpprogramma's downloaden.
Gegevensproviders
Voor een database die kan worden gebruikt in ADO.NET, moet deze een aangepaste ADO.NET gegevensprovider hebben of moet er anders een ODBC- of OLE DB-interface beschikbaar zijn. Microsoft biedt een lijst met ADO.NET gegevensproviders voor SQL Server-producten, evenals ODBC- en OLE DB-providers.
Notitie
Als u Visual Studio gebruikt om verbinding te maken met databases met OLEDB- of ODBC-gegevensproviders, moet u er rekening mee houden dat versies van Visual Studio vóór Visual Studio 2022 alle 32-bits processen zijn. Dit betekent dat sommige gegevenshulpprogramma's in Visual Studio alleen verbinding kunnen maken met OLEDB- of ODBC-databases met behulp van 32-bits gegevensproviders. Dit omvat de 32-bits OLEDB-gegevensprovider van Microsoft Access en andere 32-bits providers van derden.
Als u Visual Studio 2022 gebruikt om verbinding te maken met databases, moet u er rekening mee houden dat Visual Studio 2022 een 64-bits proces is. Dit betekent dat sommige gegevenshulpprogramma's in Visual Studio geen verbinding kunnen maken met OLEDB- of ODBC-databases met behulp van 32-bits gegevensproviders.
Als u 32-bits toepassingen wilt onderhouden die verbinding maken met OLEDB- of ODBC-databases, kunt u de toepassing nog steeds bouwen en uitvoeren met Visual Studio 2022. Als u echter een van de Visual Studio Data Tools, zoals de Server Explorer, de Gegevensbronwizard of de DataSet Designer, moet gebruiken, moet u een eerdere versie van Visual Studio gebruiken die nog steeds een 32-bits proces is. De laatste versie van Visual Studio die een 32-bits proces was, was Visual Studio 2019.
Als u van plan bent om het project te converteren naar een 64-bits proces, wordt u aangeraden de 64-bits Microsoft Access-database-engine te gebruiken, ook wel Access Connectivity Engine (ACE) genoemd. Zie de OLE DB-provider voor Jet en het ODBC-stuurprogramma zijn alleen 32-bits versies voor meer informatie.
Gegevensmodellering
In .NET hebt u drie opties voor het modelleren en bewerken van gegevens in het geheugen nadat u deze hebt opgehaald uit een gegevensbron:
Entity Framework: de voorkeurstechnologie van Microsoft ORM. U kunt deze gebruiken om te programmeren tegen relationele gegevens als eersteklas .NET-objecten. Voor nieuwe toepassingen moet dit de standaard eerste keuze zijn wanneer een model vereist is. Hiervoor is aangepaste ondersteuning van de onderliggende ADO.NET provider vereist.
LINQ naar SQL: een object-relationele mapper van een eerdere generatie. Het werkt goed voor minder complexe scenario's, maar is niet langer actief in ontwikkeling.
Datasets: de oudste van de drie modellerings-technologieën. Het is voornamelijk ontworpen voor snelle ontwikkeling van 'formulieren over gegevens'-toepassingen waarin u geen enorme hoeveelheden gegevens verwerkt of complexe query's of transformaties uitvoert. Een DataSet-object bestaat uit DataTable- en DataRow-objecten die logisch lijken op SQL Database-objecten, veel meer dan .NET-objecten. Voor relatief eenvoudige toepassingen op basis van SQL-gegevensbronnen zijn gegevenssets mogelijk nog steeds een goede keuze.
Er is geen vereiste om een van deze technologieën te gebruiken. In sommige scenario's, met name wanneer de prestaties essentieel zijn, kunt u gewoon een DataReader-object gebruiken om uit de database te lezen en de waarden die u nodig hebt, te kopiëren naar een verzamelingsobject, zoals List<T>.
Natief C++
C++ toepassingen die verbinding maken met SQL Server moeten in de meeste gevallen gebruikmaken van het Microsoft® ODBC-stuurprogramma 13.1 voor SQL Server. Als de servers zijn gekoppeld, is OLE DB nodig en hiervoor gebruikt u de SQL Server Native Client. U kunt rechtstreeks toegang krijgen tot andere databases met behulp van ODBC- of OLE DB-stuurprogramma's. ODBC is de huidige standaarddatabaseinterface, maar de meeste databasesystemen bieden aangepaste functionaliteit die niet toegankelijk is via de ODBC-interface. OLE DB is een verouderde COM-technologie voor gegevenstoegang die nog steeds wordt ondersteund, maar niet wordt aanbevolen voor nieuwe toepassingen. Zie Data Access in Visual C++voor meer informatie.
C++-programma's die REST-services gebruiken, kunnen gebruikmaken van de C++ REST SDK-.
Gegevensmodellering: Visual Studio biedt geen ORM-laag voor C++. ODB- is een populaire opensource ORM voor C++.
Zie Visual Studio-gegevenshulpprogramma's voor C++voor meer informatie over het maken van verbinding met databases vanuit C++-apps.
JavaScript
JavaScript in Visual Studio is een eersteklas taal voor het bouwen van platformoverschrijdende apps, UWP-apps, cloudservices, websites en web-apps. U kunt Bower, Grunt, Gulp, npm en NuGet gebruiken vanuit Visual Studio om uw favoriete JavaScript-bibliotheken en databaseproducten te installeren. Maak verbinding met Azure Storage en services door SDK's te downloaden van de Azure-website. Edge.js is een bibliotheek die JavaScript (Node.js) aan serverzijde verbindt met ADO.NET gegevensbronnen.
Python
Installeer Python-ondersteuning in Visual Studio om Python-toepassingen te maken. De Azure-documentatie bevat verschillende zelfstudies over het maken van verbinding met gegevens, waaronder de volgende:
- Django en SQL Database op Azure
- Django en MySQL op Azure
- Werken met blobs, bestanden, wachtrijenen tabellen (Cosmo DB).
Verwante inhoud
Microsoft Azure Storage: beschrijft Azure Storage en het maken van toepassingen met behulp van Azure-blobs, tabellen, wachtrijen en bestanden.
Azure SQL Database: beschrijft hoe u verbinding maakt met Azure SQL Database, een relationele database als een service.
SQL Server Data Tools: beschrijft de hulpprogramma's die het ontwerpen, verkennen, testen en implementeren van met gegevens verbonden toepassingen en databases vereenvoudigen.
ADO.NET: beschrijft de ADO.NET-architectuur en hoe u de ADO.NET-klassen gebruikt om toepassingsgegevens te beheren en te communiceren met gegevensbronnen en XML.
ADO.NET Entity Framework: beschrijft hoe u gegevenstoepassingen maakt waarmee ontwikkelaars kunnen programmeren op basis van een conceptueel model in plaats van rechtstreeks tegen een relationele database.
WCF Data Services 4.5: beschrijft hoe u WCF-gegevensservices gebruikt voor het implementeren van gegevensservices op internet of een intranet waarmee de OData-(Open Data Protocol) wordt geïmplementeerd.
Gegevens in Office Solutions: bevat koppelingen naar onderwerpen waarin wordt uitgelegd hoe gegevens werken in Office-oplossingen. Dit omvat informatie over schemageoriënteerd programmeren, gegevenscache en gegevenstoegang aan de serverzijde.
LINQ (Language Integrated Query): beschrijft de querymogelijkheden die zijn ingebouwd in C# en Visual Basic, en het algemene model voor het uitvoeren van query's op relationele databases, XML-documenten, gegevenssets en in-memory verzamelingen.
XML-hulpprogramma's in Visual Studio: bespreekt het werken met XML-gegevens, foutopsporing van XSLT-, .NET XML-functies en de architectuur van XML-query.
XML-documenten en -gegevens: biedt een overzicht van een uitgebreide en geïntegreerde set klassen die werken met XML-documenten en -gegevens in .NET.