Praca z danymi w programie Visual Studio

W programie Visual Studio można tworzyć aplikacje łączące się z danymi w praktycznie dowolnym produkcie lub usłudze bazy danych w dowolnym formacie, w dowolnym miejscu — na komputerze lokalnym, w sieci lokalnej lub w chmurze publicznej, prywatnej lub hybrydowej.

W przypadku aplikacji w językach JavaScript, Python, PHP, Ruby lub C++połączysz się z danymi, takimi jak wszystkie inne czynności, uzyskując biblioteki i pisząc kod. W przypadku aplikacji platformy .NET program Visual Studio udostępnia narzędzia, których można użyć do eksplorowania źródeł danych, tworzenia modeli obiektów do przechowywania i manipulowania danymi w pamięci oraz powiązania danych z interfejsem użytkownika. Platforma Microsoft Azure udostępnia zestawy SDK dla platformy .NET, Java, Node.js, PHP, Python, Ruby i aplikacji mobilnych oraz narzędzi w programie Visual Studio na potrzeby nawiązywania połączenia z usługą Azure Storage.

Na poniższych listach przedstawiono tylko kilka z wielu systemów bazy danych i magazynu, których można używać z programu Visual Studio. Oferty platformy Microsoft Azure to usługi danych obejmujące wszystkie aprowizowanie i administrowanie bazowym magazynem danych. Pakiet roboczy Programowanie na platformie Azure w programie Visual Studio umożliwia pracę z magazynami danych platformy Azure bezpośrednio z poziomu programu Visual Studio.

Obciążenie programistyczne platformy Azure

Większość innych produktów baz danych SQL i NoSQL wymienionych tutaj może być hostowana na komputerze lokalnym, w sieci lokalnej lub na platformie Microsoft Azure na maszynie wirtualnej. Jeśli hostujesz bazę danych na maszynie wirtualnej platformy Microsoft Azure, odpowiadasz za zarządzanie samą bazą danych.

Microsoft Azure

  • SQL Database
  • Azure Cosmos DB
  • Magazyn (obiekty blob, tabele, kolejki, pliki)
  • SQL Data Warehouse
  • SQL Server Stretch Database
  • StorSimple
  • I nie tylko...

SQL

  • SQL Server 2005-2016 (w tym Express i LocalDB)
  • Firebird
  • MariaDB
  • MySQL
  • Oracle
  • PostgreSQL
  • SQLite
  • I nie tylko...

NoSQL

  • Apache Cassandra
  • CouchDB
  • MongoDB
  • NDatabase
  • OrientDB|
  • RavenDB
  • VelocityDB
  • I nie tylko...

Wielu dostawców baz danych i innych firm obsługuje integrację programu Visual Studio z pakietami NuGet. Oferty można eksplorować w nuget.org lub za pomocą Menedżer pakietów NuGet w programie Visual Studio (Narzędzia>NuGet Menedżer pakietów> Zarządzanie pakietami NuGet dla rozwiązania). Inne produkty bazy danych integrują się z programem Visual Studio jako rozszerzeniem. Możesz przeglądać te oferty w witrynie Visual Studio Marketplace lub przechodząc do pozycji Rozszerzenia>Zarządzaj rozszerzeniami, a następnie wybierając pozycję Online w okienku po lewej stronie okna dialogowego. Aby uzyskać więcej informacji, zobacz Zgodne systemy baz danych dla programu Visual Studio.

Za pomocą programu Visual Studio Połączenie ed Services można uprościć proces dodawania obsługi bazy danych do projektów.

W przypadku scenariuszy programu SQL Server obsługujemy usługi Połączenie:

  • Lokalny program SQL Server. W tym scenariuszu zainstalujesz program SQL Server gdzieś w sieci lokalnej i połączysz się z nim.
  • Program SQL Server na komputerze lokalnym. W tym scenariuszu zainstalujesz program SQL Server na komputerze lokalnym i połączysz się z nim.
  • SQL Server Express LocalDB. Nie instalujesz niczego innego niż Visual Studio; wystarczy nawiązać z nim połączenie.
  • Sql Server Express LocalDB w kontenerze. LocalDB jak w poprzedniej opcji, ale wewnątrz kontenera lokalnego.
  • Baza danych programu Azure SQL Server. Połączenie do usługi działającej na platformie Azure.

W przypadku innych technologii związanych z danymi program Visual Studio 2022 obsługuje następujące elementy:

  • Azure Storage (zarówno lokalna, jak i zdalna)
  • Azure Cosmos DB (zarówno lokalna, jak i zdalna)
  • SQLite (opcja tylko lokalna)
  • PostgreSQL w kontenerze (opcja tylko lokalna)
  • MongoDB w kontenerze (opcja tylko lokalna)

Oprócz Połączenie ed Services na poniższych listach przedstawiono tylko kilka z wielu systemów bazy danych i magazynu, które mogą być używane z programu Visual Studio. Oferty platformy Microsoft Azure to usługi danych obejmujące wszystkie aprowizowanie i administrowanie bazowym magazynem danych. Pakiet roboczy Programowanie na platformie Azure w programie Visual Studio umożliwia pracę z magazynami danych platformy Azure bezpośrednio z poziomu programu Visual Studio.

Obciążenie programistyczne platformy Azure

Większość innych produktów baz danych SQL i NoSQL wymienionych tutaj może być hostowana na komputerze lokalnym, w sieci lokalnej lub na platformie Microsoft Azure na maszynie wirtualnej. Jeśli hostujesz bazę danych na maszynie wirtualnej platformy Microsoft Azure, odpowiadasz za zarządzanie samą bazą danych.

Microsoft Azure

  • SQL Data Warehouse
  • SQL Server Stretch Database
  • StorSimple
  • I nie tylko...

SQL

  • Firebird
  • MariaDB
  • MySQL
  • Oracle
  • I nie tylko...

NoSQL

  • Apache Cassandra
  • CouchDB
  • MongoDB
  • NDatabase
  • OrientDB|
  • RavenDB
  • VelocityDB
  • I nie tylko...

Uwaga

Rozszerzona obsługa programu SQL Server 2005 zakończyła się 12 kwietnia 2016 r. Nie ma gwarancji, że narzędzia danych w programie Visual Studio 2015 i nowszym będą nadal działać z programem SQL Server 2005. Aby uzyskać więcej informacji, zobacz ogłoszenie zakończenia pomocy technicznej dla programu SQL Server 2005.

Języki .NET

Technologia dostępu do danych opisana w dokumentacji programu Visual Studio używa ADO.NET. ADO.NET to starsza platforma dostępu do danych i nie jest zalecana w przypadku nowoczesnych aplikacji danych. Zalecamy używanie platformy .NET Core lub .NET 5 lub nowszej oraz używania programu Entity Framework Core do opracowywania dostępu do danych.

ADO.NET to zestaw klas, który definiuje interfejs umożliwiający uzyskiwanie dostępu do dowolnego rodzaju źródła danych, zarówno relacyjnego, jak i nierelacyjnego. Program Visual Studio ma kilka narzędzi i projektantów, które współpracują z ADO.NET, aby ułatwić łączenie się z bazami danych, manipulowanie danymi i prezentowanie danych użytkownikowi. W dokumentacji w tej sekcji opisano sposób używania tych narzędzi. Można również programować bezpośrednio względem obiektów poleceń ADO.NET. Aby uzyskać więcej informacji na temat bezpośredniego wywoływania interfejsów API ADO.NET, zobacz ADO.NET.

Aby uzyskać dokumentację dostępu do danych związaną z ASP.NET, zobacz Praca z danymi w witrynie ASP.NET. Aby zapoznać się z samouczkiem dotyczącym używania platformy Entity Framework z ASP.NET Model-View-Controller (MVC), zobacz Wprowadzenie do platformy Entity Framework 6 Code First przy użyciu wzorca MVC 5.

platforma uniwersalna systemu Windows (UWP) aplikacje w języku C# lub Visual Basic mogą używać Zestaw Microsoft Azure SDK dla platformy .NET do uzyskiwania dostępu do usługi Azure Storage i innych usług platformy Azure. Klasa Windows.Web.HttpClient umożliwia komunikację z dowolną usługą RESTful. Aby uzyskać więcej informacji, zobacz How to connect to an HTTP server using Windows.Web.Http (Jak nawiązać połączenie z serwerem HTTP przy użyciu protokołu Windows.Web.Http).

W przypadku magazynu danych na komputerze lokalnym zalecane jest użycie biblioteki SQLite, która działa w tym samym procesie co aplikacja. Jeśli wymagana jest warstwa mapowania obiektów (ORM), możesz użyć programu Entity Framework. Aby uzyskać więcej informacji, zobacz Dostęp do danych w Centrum deweloperów systemu Windows.

Jeśli łączysz się z usługami platformy Azure, pobierz najnowsze narzędzia zestawu Azure SDK.

Dostawcy danych

Aby baza danych mogła być zużywana w ADO.NET, musi mieć niestandardowego dostawcę danych ADO.NET lub musi uwidocznić interfejs ODBC lub OLE DB. Firma Microsoft udostępnia listę dostawców danych ADO.NET dla produktów SQL Server, a także dostawców ODBC i OLE DB.

Uwaga

Jeśli używasz programu Visual Studio do nawiązywania połączenia z bazami danych przy użyciu dostawców danych OLEDB lub ODBC, musisz pamiętać, że wersje programu Visual Studio przed programem Visual Studio 2022 są wszystkimi procesami 32-bitowymi. Oznacza to, że niektóre narzędzia danych w programie Visual Studio będą mogły łączyć się tylko z bazami danych OLEDB lub ODBC przy użyciu 32-bitowych dostawców danych. Obejmuje to dostawcę danych OLEDB programu Microsoft Access 32-bitowego, a także innych dostawców 32-bitowych.

Jeśli używasz programu Visual Studio 2022 do łączenia się z bazami danych, musisz pamiętać, że program Visual Studio 2022 jest procesem 64-bitowym. Oznacza to, że niektóre narzędzia danych w programie Visual Studio nie będą mogły łączyć się z bazami danych OLEDB lub ODBC przy użyciu 32-bitowych dostawców danych.

Jeśli musisz obsługiwać 32-bitowe aplikacje łączące się z bazami danych OLEDB lub ODBC, nadal będzie można kompilować i uruchamiać aplikację za pomocą programu Visual Studio 2022. Jeśli jednak musisz użyć dowolnego narzędzia Visual Studio Data Tools, takiego jak Eksplorator serwera, Kreator źródła danych lub zestaw danych Projektant, musisz użyć wcześniejszej wersji programu Visual Studio, która jest nadal procesem 32-bitowym. Ostatnia wersja programu Visual Studio, która była procesem 32-bitowym, to Visual Studio 2019.

Jeśli planujesz przekonwertowanie projektu na 64-bitowy proces, zaleca się użycie 64-bitowego aparatu bazy danych programu Microsoft Access, nazywanego również aparatem dostępu Połączenie ivity Engine (ACE). Aby uzyskać więcej informacji, zobacz Dostawca OLE DB dla sterownika Jet i ODBC to tylko wersje 32-bitowe.

Modelowanie danych

Na platformie .NET dostępne są trzy opcje modelowania i manipulowania danymi w pamięci po pobraniu ich ze źródła danych:

Entity Framework Preferowana technologia MICROSOFT ORM. Służy do programowania względem danych relacyjnych jako obiektów platformy .NET pierwszej klasy. W przypadku nowych aplikacji powinien to być domyślny wybór, gdy jest wymagany model. Wymaga ona niestandardowej obsługi od bazowego dostawcy ADO.NET.

LINQ to SQL Maper obiektowo-relacyjny starszej generacji. Działa dobrze w przypadku mniej złożonych scenariuszy, ale nie jest już w aktywnym rozwoju.

Zestawy danych Najstarsze z trzech technologii modelowania. Jest ona przeznaczona głównie do szybkiego tworzenia "formularzy za pośrednictwem danych", w których nie przetwarzasz ogromnych ilości danych ani nie wykonujesz złożonych zapytań lub przekształceń. Obiekt DataSet składa się z obiektów DataTable i DataRow, które logicznie przypominają obiekty usługi SQL Database znacznie więcej niż obiekty platformy .NET. W przypadku stosunkowo prostych aplikacji opartych na źródłach danych SQL zestawy danych mogą nadal być dobrym wyborem.

Nie ma potrzeby korzystania z żadnej z tych technologii. W niektórych scenariuszach, szczególnie w przypadku krytycznej wydajności, można po prostu użyć obiektu DataReader do odczytu z bazy danych i skopiować potrzebne wartości do obiektu kolekcji, takiego jak Lista<T>.

Natywny język C++

W większości przypadków aplikacje języka C++ łączące się z programem SQL Server powinny używać sterownika Microsoft® ODBC Driver 13.1 dla programu SQL Server . Jeśli serwery są połączone, baza danych OLE DB jest niezbędna i do tego celu używasz klienta natywnego programu SQL Server. Dostęp do innych baz danych można uzyskać bezpośrednio przy użyciu sterowników ODBC lub OLE DB. ODBC to bieżący standardowy interfejs bazy danych, ale większość systemów baz danych zapewnia niestandardowe funkcje, do których nie można uzyskać dostępu za pośrednictwem interfejsu ODBC. OLE DB to starsza technologia dostępu do danych COM, która jest nadal obsługiwana, ale nie jest zalecana w przypadku nowych aplikacji. Aby uzyskać więcej informacji, zobacz Dostęp do danych w programie Visual C++.

Programy języka C++ korzystające z usług REST mogą używać zestawu SDK REST języka C++.

Programy języka C++ współpracujące z usługą Microsoft Azure Storage mogą używać klienta usługi Microsoft Azure Storage.

Modelowanie danych — program Visual Studio nie udostępnia warstwy ORM dla języka C++. ODB to popularna maszyna ORM typu open source dla języka C++.

Aby dowiedzieć się więcej na temat nawiązywania połączenia z bazami danych z aplikacji języka C++, zobacz Visual Studio data tools for C++( Narzędzia danych programu Visual Studio dla języka C++). Aby uzyskać więcej informacji na temat starszych technologii dostępu do danych w języku Visual C++, zobacz Dostęp do danych.

JavaScript

Język JavaScript w programie Visual Studio to najwyższej klasy język do tworzenia aplikacji międzyplatformowych, aplikacji platformy uniwersalnej systemu Windows, usług w chmurze, witryn internetowych i aplikacji internetowych. Aby zainstalować ulubione biblioteki i produkty bazy danych JavaScript, można użyć platformy Bower, Grunt, Gulp, npm i NuGet z poziomu programu Visual Studio. Połączenie do usługi Azure Storage i usług, pobierając zestawy SDK z witryny Witryna internetowa platformy Azure. Edge.js to biblioteka łącząca język JavaScript (Node.js) po stronie serwera z ADO.NET źródłami danych.

Python

Zainstaluj obsługę języka Python w programie Visual Studio , aby utworzyć aplikacje języka Python. Dokumentacja platformy Azure zawiera kilka samouczków dotyczących nawiązywania połączenia z danymi, w tym:

Platforma sztucznej inteligencji firmy Microsoft — zawiera wprowadzenie do inteligentnej chmury firmy Microsoft, w tym pakietu Cortana Analytics Suite i obsługi Internetu rzeczy.

Microsoft Azure Storage — opisuje usługę Azure Storage i sposób tworzenia aplikacji przy użyciu obiektów blob platformy Azure, tabel, kolejek i plików.

Azure SQL Database — opisuje sposób nawiązywania połączenia z usługą Azure SQL Database, relacyjną bazą danych jako usługą.

SQL Server Data Tools — opisuje narzędzia upraszczające projektowanie, eksplorację, testowanie i wdrażanie aplikacji i baz danych połączonych z danymi.

ADO.NET — opisuje architekturę ADO.NET oraz sposób używania klas ADO.NET do zarządzania danymi aplikacji i interakcji ze źródłami danych i kodem XML.

ADO.NET Entity Framework — opisuje sposób tworzenia aplikacji danych, które umożliwiają deweloperom programowanie względem modelu koncepcyjnego zamiast bezpośrednio względem relacyjnej bazy danych.

Usługi danych programu WCF 4.5 — opisuje sposób używania Usługi danych programu WCF do wdrażania usług danych w sieci Web lub intranetu implementującego protokół OData (Open Data Protocol).

Dane w rozwiązaniach pakietu Office — zawiera linki do tematów wyjaśniających sposób działania danych w rozwiązaniach pakietu Office. Obejmuje to informacje na temat programowania zorientowanego na schemat, buforowania danych i dostępu do danych po stronie serwera.

LINQ (zapytanie zintegrowane z językiem) — opisuje możliwości zapytań wbudowane w języki C# i Visual Basic oraz wspólny model wykonywania zapytań dotyczących relacyjnych baz danych, dokumentów XML, zestawów danych i kolekcji w pamięci.

Narzędzia XML w programie Visual Studio — omawia pracę z danymi XML, debugowanie funkcji XSLT, XML platformy .NET oraz architekturę zapytania XML.

Dokumenty i dane XML — zawiera omówienie kompleksowego i zintegrowanego zestawu klas, które współpracują z dokumentami XML i danymi na platformie .NET.