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, tak jak w innych przypadkach, pobierają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 Microsoft Azure to usługi danych obejmujące wszystkie działania związane z dostarczaniem i zarządzaniem bazowym magazynem danych. Obciążenie programowania
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 baza danych
- Azure Cosmos DB
- Przechowywanie (obiekty blob, tabele, kolejki, pliki)
- SQL Data Warehouse
- Baza danych Stretch programu SQL Server
- StorSimple
- I więcej...
SQL
- SQL Server 2005-2016 (w tym Express i LocalDB)
- Firebird
- MariaDB
- MySQL
- Wyrocznia
- PostgreSQL
- SQLite
- I więcej...
NoSQL
- Apache Cassandra
- CouchDB
- MongoDB
- NDatabase
- OrientDB|
- RavenDB
- VelocityDB
- I więcej...
Wielu dostawców baz danych i innych firm obsługuje integrację programu Visual Studio z pakietami NuGet. Oferty można eksplorować na platformie nuget.org lub za pomocą Menedżera pakietów NuGet w programie Visual Studio (narzędziaTools>Menedżer pakietów NuGet>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 Extensions>Manage Extensions a następnie wybierając pozycję Online w lewym okienku okna dialogowego. Aby uzyskać więcej informacji, zobacz Zgodne systemy baz danych dla programu Visual Studio.
Za pomocą Usług Połączonych programu Visual Studiomożna uprościć proces dodawania obsługi bazy danych do projektów.
W przypadku scenariuszy programu SQL Server obsługujemy usługi połączone:
- 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. Nawiąż połączenie z usługą działającą 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 Usług Połączonych na poniższych listach przedstawiono tylko kilka z wielu systemów baz danych i przechowywania, których można używać z programu Visual Studio. Oferty Microsoft Azure to usługi danych obejmujące wszystkie przydzielanie zasobów i administrowanie bazowym magazynem danych. Obciążenie programowania
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
- Baza danych Stretch programu SQL Server
- StorSimple
- I więcej...
SQL
- Firebird
- MariaDB
- MySQL
- Wyrocznia
- I więcej...
NoSQL
- Apache Cassandra
- CouchDB
- MongoDB
- NDatabase
- OrientDB|
- RavenDB
- VelocityDB
- I więcej...
Notatka
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.
Języki platformy .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 wybieranie platformy .NET Core lub .NET 5 i nowszej oraz używanie Entity Framework Core do tworzenia 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 dotyczącą ASP.NET, zobacz Praca z danymi w witrynie ASP.NET. Aby zapoznać się z samouczkiem dotyczącym używania platformy Entity Framework z modelem ASP.NETView-Controller (MVC), zobacz
Aplikacje platformy uniwersalnej systemu Windows (UWP) w języku C# lub Visual Basic mogą używać zestawu 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, zapoznaj się z Jak połączyć się z serwerem HTTP za pomocą 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.
Jeśli łączysz się z usługami platformy Azure, pobierz najnowsze narzędzia zestawu Azure SDK.
Dostawcy danych
Aby baza danych była używana w ADO.NET, musi mieć niestandardowego dostawcę danych ADO.NET lub musi udostępniać interfejs ODBC lub OLE DB. Firma Microsoft udostępnia listę dostawców danych ADO.NET dla produktów programu SQL Server, a także dostawców ODBC i OLE DB.
Notatka
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 32-bitowego dostawcę danych OLEDB programu Microsoft Access, a także innych dostawców.
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 Projektant zestawu danych, musisz użyć starszej 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 łączności programu Access (ACE). Aby uzyskać więcej informacji, zobacz OLE DB Provider dla Jet oraz sterownik ODBC dostępne tylko w wersjach 32-bitowych.
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. Możesz go używać do programowania na danych relacyjnych jako pierwszorzędnych obiektach .NET. W przypadku nowych aplikacji powinien to być pierwszy domyślny wybór, gdy jest wymagany model. Wymaga ona niestandardowej obsługi od bazowego dostawcy ADO.NET.
LINQ to SQL: narzędzie mapujące obiektowo-relacyjne wcześniejszej 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 List<T>.
Natywny język C++
W większości przypadków aplikacje języka C++, które łączą 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 należy użyć SQL Server Native Client. Dostęp do innych baz danych można uzyskać za pomocą sterowników ODBC lub OLE DB bezpośrednio. 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 Data Access w programie Visual C++.
Programy języka C++ korzystające z usług REST mogą używać zestawu SDK REST języka C++.
Modelowanie danych — program Visual Studio nie udostępnia warstwy ORM dla języka C++. ODB to popularny open source ORM dla języka C++.
Aby dowiedzieć się więcej na temat nawiązywania połączenia z bazami danych z poziomu aplikacji języka C++, zobacz narzędzia danych programu Visual Studio dla języka C++.
JavaScript
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łącz się z Azure Storage i innymi usługami, pobierając zestawy SDK ze strony Azure . Edge.js to biblioteka łącząca język JavaScript po stronie serwera (Node.js) z ADO.NET źródłami danych.
Pyton
Zainstaluj obsługę języka Python w programie Visual Studio, aby tworzyć aplikacje języka Python. Dokumentacja platformy Azure zawiera kilka samouczków dotyczących nawiązywania połączenia z danymi, w tym:
- Django i SQL Database w usłudze Azure
- Django i MySQL na platformie Azure
- Praca z obiektami blob, plikami , kolejkami i tabelami (Cosmo DB).
Powiązana zawartość
Usługi Microsoft Azure Storage — Opisuje usługi Azure Storage i sposób tworzenia aplikacji przy użyciu obiektów blob, tabel, kolejek i plików platformy Azure.
Azure SQL Database— Opisuje sposób nawiązywania połączenia z usługą Azure SQL Database, relacyjnej bazy danych jako usługi.
narzędzi 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.
WCF Data Services 4.5— opisuje sposób wdrażania usług danych WCF w sieci Web lub intranetu, które implementują Open Data Protocol (OData).
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 w języku)— 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, .NET XML oraz architekturę zapytania XML.
Dokumenty i dane XML— przedstawia omówienie kompleksowego i zintegrowanego zestawu klas, które współpracują z dokumentami i danymi XML na platformie .NET.