Arbeiten mit Daten in Visual Studio
In Visual Studio können Sie Anwendungen erstellen, die eine Verbindung mit Daten in praktisch jedem Datenbankprodukt oder -dienst in beliebigem Format, überall – auf einem lokalen Computer, in einem lokalen Netzwerk oder in einer öffentlichen, privaten oder hybriden Cloud herstellen.
Für Anwendungen in JavaScript, Python, PHP, Ruby oder C++ stellen Sie eine Verbindung mit Daten her, wie Sie alles andere tun, indem Sie Bibliotheken abrufen und Code schreiben. Für .NET-Anwendungen stellt Visual Studio Tools bereit, mit denen Sie Datenquellen untersuchen, Objektmodelle zum Speichern und Bearbeiten von Daten im Arbeitsspeicher erstellen und Daten an die Benutzeroberfläche binden können. Microsoft Azure stellt SDKs für .NET, Java, Node.js, PHP, Python, Ruby und mobile Apps und Tools in Visual Studio bereit, um eine Verbindung mit Azure Storage herzustellen.
In den folgenden Listen sind nur einige der vielen Datenbank- und Speichersysteme aufgeführt, die in Visual Studio verwendet werden können. Die Microsoft Azure-Angebote sind Datendienste, die alle Bereitstellung und Verwaltung des zugrunde liegenden Datenspeichers umfassen. Mit dem Azure-Entwicklungsworkload in Visual Studio können Sie mit Azure-Datenspeichern direkt aus Visual Studio arbeiten.
Die meisten anderen HIER aufgelisteten SQL- und NoSQL-Datenbankprodukte können auf einem lokalen Computer, in einem lokalen Netzwerk oder in Microsoft Azure auf einem virtuellen Computer gehostet werden. Wenn Sie die Datenbank auf einem virtuellen Microsoft Azure-Computer hosten, sind Sie für die Verwaltung der Datenbank selbst verantwortlich.
Microsoft Azure
- SQL-Datenbank
- Azure Cosmos DB
- Speicher (Blobs, Tabellen, Warteschlangen, Dateien)
- SQL Data Warehouse
- SQL Server Stretch-Datenbank
- StorSimple
- Und mehr...
SQL
- SQL Server 2005-2016 (umfasst Express und LocalDB)
- Feuervogel
- MariaDB
- MySQL
- Orakel
- PostgreSQL
- SQLite
- Und mehr...
NoSQL
- Apache Cassandra
- CouchDB
- MongoDB
- NDatenbank
- OrientDB|
- RavenDB
- VelocityDB
- Und mehr...
Viele Datenbankanbieter und Drittanbieter unterstützen die Visual Studio-Integration durch NuGet-Pakete. Sie können die Angebote auf nuget.org oder über den NuGet-Paket-Manager in Visual Studio erkunden (Tools>NuGet-Paket-Manager>Verwalten von NuGet-Paketen für Lösungs-). Andere Datenbankprodukte sind in Visual Studio als Erweiterung integriert. Sie können diese Angebote im Visual Studio Marketplace durchsuchen oder zu Erweiterungen>Erweiterungen verwalten navigieren und dann im linken Bereich des Dialogfelds Online auswählen. Weitere Informationen finden Sie unter Kompatible Datenbanksysteme für Visual Studio.
Mithilfe Visual Studio Connected Serviceskönnen Sie den Vorgang zum Hinzufügen von Datenbankunterstützung zu Ihren Projekten vereinfachen.
Für SQL Server-Szenarien unterstützen wir über verbundene Dienste:
- Sql Server lokal. In diesem Szenario installieren Sie SQL Server irgendwo in Ihrem lokalen Netzwerk, und stellen Sie eine Verbindung damit her.
- SQL Server auf Ihrem lokalen Computer. In diesem Szenario installieren Sie SQL Server auf Ihrem lokalen Computer und stellen eine Verbindung damit her.
- SQL Server Express LocalDB. Sie installieren nichts anderes als Visual Studio; Sie stellen einfach eine Verbindung mit ihr her.
- SQL Server Express LocalDB im Container. LocalDB wie in der vorherigen Option, aber innerhalb eines lokalen Containers.
- Azure SQL Server DB. Stellen Sie eine Verbindung mit dem Dienst her, der live in Azure ausgeführt wird.
Für andere datenbezogene Technologien unterstützt Visual Studio 2022 Folgendes:
- Azure Storage (sowohl lokal als auch remote)
- Azure Cosmos DB (sowohl lokal als auch remote)
- SQLite (option nur lokal)
- PostgreSQL im Container (option nur lokal)
- MongoDB für Container (option nur lokal)
Abgesehen von Connected Services zeigen die folgenden Listen nur einige der vielen Datenbank- und Speichersysteme, die von Visual Studio verwendet werden können. Die Microsoft Azure-Angebote sind Datendienste, die alle Bereitstellung und Verwaltung des zugrunde liegenden Datenspeichers umfassen. Mit dem Azure-Entwicklungsworkload in Visual Studio können Sie mit Azure-Datenspeichern direkt aus Visual Studio arbeiten.
Die meisten anderen HIER aufgelisteten SQL- und NoSQL-Datenbankprodukte können auf einem lokalen Computer, in einem lokalen Netzwerk oder in Microsoft Azure auf einem virtuellen Computer gehostet werden. Wenn Sie die Datenbank auf einem virtuellen Microsoft Azure-Computer hosten, sind Sie für die Verwaltung der Datenbank selbst verantwortlich.
Microsoft Azure
- SQL Data Warehouse
- SQL Server Stretch-Datenbank
- StorSimple
- Und mehr...
SQL
- Feuervogel
- MariaDB
- MySQL
- Orakel
- Und mehr...
NoSQL
- Apache Cassandra
- CouchDB
- MongoDB
- NDatenbank
- OrientDB|
- RavenDB
- VelocityDB
- Und mehr...
Anmerkung
Der erweiterte Support für SQL Server 2005 endete am 12. April 2016. Es gibt keine Garantie dafür, dass Datentools in Visual Studio 2015 und höher weiterhin mit SQL Server 2005 funktionieren.
.NET-Sprachen
Die in der Visual Studio-Dokumentation beschriebene Datenzugriffstechnologie verwendet ADO.NET. ADO.NET ist ein Legacy-Datenzugriffsframework und wird für moderne Datenanwendungen nicht empfohlen. Es wird empfohlen, .NET Core oder .NET 5 und höher zu verwenden und Entity Framework Core für die Entwicklung des Datenzugriffs zu verwenden.
ADO.NET ist eine Reihe von Klassen, die eine Schnittstelle für den Zugriff auf jede Art von Datenquelle definieren, sowohl relational als auch nicht relational. Visual Studio verfügt über mehrere Tools und Designer, die mit ADO.NET arbeiten, um eine Verbindung mit Datenbanken herzustellen, die Daten zu bearbeiten und die Daten dem Benutzer zu präsentieren. In der Dokumentation in diesem Abschnitt wird die Verwendung dieser Tools beschrieben. Sie können auch direkt mit den ADO.NET Befehlsobjekten programmieren. Weitere Informationen zum direkten Aufrufen der ADO.NET-APIs finden Sie unter ADO.NET.
Eine Dokumentation zum Datenzugriff im Zusammenhang mit ASP.NET finden Sie unter Arbeiten mit Daten- auf der ASP.NET-Website. Eine Anleitung zur Verwendung von Entity Framework mit ASP.NET Model-View-Controller (MVC) finden Sie unter Einstieg mit Entity Framework 6 Code First und MVC 5.
Apps für die universelle Windows-Plattform (UWP) in C# oder Visual Basic können das Microsoft Azure SDK für .NET verwenden, um auf Azure Storage und andere Azure-Dienste zuzugreifen. Die Windows.Web.HttpClient-Klasse ermöglicht die Kommunikation mit jedem RESTful-Dienst. Weitere Informationen finden Sie unter Wie Sie eine Verbindung zu einem HTTP-Server mit Windows.Web.Http herstellen.
Für die Datenspeicherung auf dem lokalen Computer empfiehlt sich die Verwendung von SQLite, die im gleichen Prozess wie die App ausgeführt wird. Wenn eine objektrelationale Zuordnung (ORM)-Ebene erforderlich ist, können Sie Entity Framework verwenden. Weitere Informationen finden Sie unter Datenzugriff.
Wenn Sie eine Verbindung mit Azure-Diensten herstellen, laden Sie unbedingt die neuesten Azure SDK-Toolsherunter.
Datenanbieter
Damit eine Datenbank in ADO.NET konsumierbar ist, muss sie über einen benutzerdefinierten ADO.NET Datenanbieter verfügen oder eine ODBC- oder OLE DB-Schnittstelle verfügbar machen müssen. Microsoft stellt eine Liste der ADO.NET Datenanbieter für SQL Server-Produkte sowie ODBC- und OLE DB-Anbieter bereit.
Anmerkung
Wenn Sie Visual Studio zum Herstellen einer Verbindung mit Datenbanken mit OLEDB- oder ODBC-Datenanbietern verwenden, müssen Sie beachten, dass Versionen von Visual Studio vor Visual Studio 2022 alle 32-Bit-Prozesse sind. Dies bedeutet, dass einige der Datentools in Visual Studio nur eine Verbindung mit OLEDB- oder ODBC-Datenbanken mit 32-Bit-Datenanbietern herstellen können. Dazu gehören der Microsoft Access 32-Bit-OLEDB-Datenanbieter sowie andere 32-Bit-Anbieter von Drittanbietern.
Wenn Sie Visual Studio 2022 zum Herstellen einer Verbindung mit Datenbanken verwenden, müssen Sie beachten, dass Visual Studio 2022 ein 64-Bit-Prozess ist. Dies bedeutet, dass einige der Datentools in Visual Studio keine Verbindung mit OLEDB- oder ODBC-Datenbanken mit 32-Bit-Datenanbietern herstellen können.
Wenn Sie 32-Bit-Anwendungen verwalten müssen, die eine Verbindung mit OLEDB- oder ODBC-Datenbanken herstellen, können Sie die Anwendung weiterhin mit Visual Studio 2022 erstellen und ausführen. Wenn Sie jedoch eines der Visual Studio-Datentools wie Server-Explorer, Datenquellen-Assistent oder DataSet-Designer verwenden müssen, müssen Sie eine frühere Version von Visual Studio verwenden, die noch ein 32-Bit-Prozess ist. Die letzte Version von Visual Studio, bei der es sich um einen 32-Bit-Prozess handelte, war Visual Studio 2019.
Wenn Sie beabsichtigen, das Projekt in einen 64-Bit-Prozess zu konvertieren, empfiehlt es sich, das 64-Bit-Microsoft Access-Datenbankmodul (Access Connectivity Engine, ACE) zu verwenden. Weitere Informationen finden Sie unter OLE DB-Anbieter für Jet- und ODBC-Treiber nur als 32-Bit-Versionen verfügbar.
Datenmodellierung
In .NET stehen Ihnen drei Optionen zum Modellieren und Bearbeiten von Daten im Arbeitsspeicher zur Verfügung, nachdem Sie sie aus einer Datenquelle abgerufen haben:
Entity Framework: Die bevorzugte Microsoft ORM-Technologie. Sie können es verwenden, um relationale Daten als .NET-Objekte der ersten Klasse zu programmieren. Bei neuen Anwendungen sollte es die standardmäßige erste Wahl sein, wenn ein Modell erforderlich ist. Sie erfordert benutzerdefinierte Unterstützung vom zugrunde liegenden ADO.NET Anbieter.
LINQ to SQL: Ein objektrelationaler Mapper einer früheren Generation. Es funktioniert gut für weniger komplexe Szenarien, ist aber nicht mehr in der aktiven Entwicklung.
Datasets: Die älteste der drei Modellierungstechnologien. Es wurde hauptsächlich für die schnelle Entwicklung von "Formularen über Daten"-Anwendungen entwickelt, in denen Sie keine riesigen Datenmengen verarbeiten oder komplexe Abfragen oder Transformationen ausführen. Ein DataSet-Objekt besteht aus DataTable- und DataRow-Objekten, die SQL-Datenbankobjekte logisch ähneln, viel mehr als .NET-Objekte. Für relativ einfache Anwendungen, die auf SQL-Datenquellen basieren, sind Datasets möglicherweise immer noch eine gute Wahl.
Es ist nicht erforderlich, eine dieser Technologien zu verwenden. In einigen Szenarien können Sie, insbesondere wenn die Leistung kritisch ist, einfach ein DataReader-Objekt verwenden, um aus der Datenbank zu lesen und die werte zu kopieren, die Sie in ein Auflistungsobjekt wie List<T>benötigen.
Systemeigenes C++
C++-Anwendungen, die eine Verbindung mit SQL Server herstellen, sollten in den meisten Fällen den Microsoft® ODBC-Treiber 13.1 für SQL Server verwenden. Wenn die Server verknüpft sind, ist OLE DB erforderlich und für die Sie die SQL Server Native Clientverwenden. Sie können auf andere Datenbanken zugreifen, indem Sie ODBC-- oder OLE DB-Treiber direkt verwenden. ODBC ist die aktuelle Standarddatenbankschnittstelle, aber die meisten Datenbanksysteme bieten benutzerdefinierte Funktionen, auf die nicht über die ODBC-Schnittstelle zugegriffen werden kann. OLE DB ist eine ältere COM-Datenzugriffstechnologie, die weiterhin unterstützt, aber nicht für neue Anwendungen empfohlen wird. Weitere Informationen finden Sie unter Data Access in Visual C++-.
C++-Programme, die REST-Dienste nutzen, können das C++-REST SDK-verwenden.
Datenmodellierung – Visual Studio stellt keine ORM-Ebene für C++ bereit. ODB- ist ein beliebter Open-Source-ORM für C++.
Weitere Informationen zum Herstellen einer Verbindung mit Datenbanken aus C++-Apps finden Sie unter Visual Studio-Datentools für C++-.
JavaScript
JavaScript in Visual Studio ist eine erstklassige Sprache zum Erstellen plattformübergreifender Apps, UWP-Apps, Clouddienste, Websites und Web-Apps. Sie können Bower, Grunt, Gulp, npm und NuGet aus Visual Studio verwenden, um Ihre bevorzugten JavaScript-Bibliotheken und -Datenbankprodukte zu installieren. Stellen Sie eine Verbindung mit Azure Storage und Diensten her, indem Sie SDKs von der Azure-Websiteherunterladen. Edge.js ist eine Bibliothek, die serverseitiges JavaScript (Node.js) mit ADO.NET Datenquellen verbindet.
Python
Installieren Sie Python-Unterstützung in Visual Studio, um Python-Anwendungen zu erstellen. Die Azure-Dokumentation enthält mehrere Lernprogramme zum Herstellen einer Verbindung mit Daten, einschließlich der folgenden:
- Django- und SQL-Datenbank in Azure
- Django und MySQL auf Azure
- Arbeiten Sie mit Blobs, Dateien, Warteschlangenund Tabellen (Cosmos DB).
Verwandte Inhalte
Microsoft Azure Storage– Beschreibt Azure Storage und das Erstellen von Anwendungen mithilfe von Azure-Blobs, Tabellen, Warteschlangen und Dateien.
Azure SQL-Datenbank– Beschreibt, wie eine Verbindung mit azure SQL-Datenbank, einer relationalen Datenbank als Dienst, hergestellt wird.
SQL Server Data Tools– Beschreibt die Tools, die das Entwerfen, Durchsuchen, Testen und Bereitstellen von mit Daten verbundenen Anwendungen und Datenbanken vereinfachen.
ADO.NET– Beschreibt die ADO.NET Architektur und die Verwendung der ADO.NET Klassen zum Verwalten von Anwendungsdaten und zur Interaktion mit Datenquellen und XML.
ADO.NET Entity Framework– Beschreibt, wie Datenanwendungen erstellt werden, mit denen Entwickler anstelle einer relationalen Datenbank direkt gegen ein konzeptionelles Modell programmieren können.
WCF Data Services 4.5– Beschreibt die Verwendung von WCF Data Services zum Bereitstellen von Datendiensten im Web oder einem Intranet, das das Open Data Protocol (OData)implementiert.
Daten in Office Solutions– Enthält Links zu Themen, in denen erläutert wird, wie Daten in Office-Lösungen funktionieren. Dazu gehören Informationen zur schemaorientierten Programmierung, Zum Zwischenspeichern von Daten und zum serverseitigen Datenzugriff.
LINQ (Language Integrated Query)– Beschreibt die in C# und Visual Basic integrierten Abfragefunktionen sowie das allgemeine Modell zum Abfragen relationaler Datenbanken, XML-Dokumente, Datasets und In-Memory-Auflistungen.
XML-Tools in Visual Studio– Erläutert das Arbeiten mit XML-Daten, das Debuggen von XSLT-, .NET-XML-Features und die Architektur von XML-Abfrage.
XML-Dokumente und -Daten– Bietet eine Übersicht über einen umfassenden und integrierten Satz von Klassen, die mit XML-Dokumenten und -Daten in .NET arbeiten.