Работа с данными в Visual Studio
В Visual Studio можно создавать приложения, которые подключаются к данным практически в любом продукте или службе базы данных в любом формате, в любом месте — на локальном компьютере, в локальной сети или в общедоступном, частном или гибридном облаке.
Для приложений в JavaScript, Python, PHP, Ruby или C++вы подключаетесь к данным, таким как вы делаете все остальное, путем получения библиотек и написания кода. Для приложений .NET Visual Studio предоставляет средства, которые можно использовать для изучения источников данных, создания объектных моделей для хранения и управления данными в памяти и привязки данных к пользовательскому интерфейсу. Microsoft Azure предоставляет пакеты SDK для .NET, Java, Node.js, PHP, Python, Ruby и мобильных приложений и средств в Visual Studio для подключения к службе хранилища Azure.
В следующих списках показаны лишь несколько из многих систем базы данных и хранилищ, которые можно использовать из Visual Studio. Предложения Microsoft Azure — это службы данных, которые включают всю подготовку и администрирование базового хранилища данных. Компонент разработки Azure в Visual Studio позволяет работать с хранилищами данных Azure прямо из Visual Studio.
Большинство других продуктов базы данных SQL и NoSQL, перечисленных здесь, могут размещаться на локальном компьютере, в локальной сети или в Microsoft Azure на виртуальной машине. Если вы размещаете базу данных на виртуальной машине Microsoft Azure, вы несете ответственность за управление самой базой данных.
Microsoft Azure
- База данных SQL
- Azure Cosmos DB
- Хранилище (BLOB, таблицы, очереди, файлы)
- Хранилище данных SQL
- SQL Server Stretch Database
- StorSimple
- И многое другое...
SQL
- SQL Server 2005-2016 (включает Express и LocalDB)
- Жар-птица
- MariaDB
- MySQL
- Оракул
- PostgreSQL
- SQLite
- И многое другое...
NoSQL
- Apache Cassandra
- CouchDB
- MongoDB
- NDatabase
- OrientDB|
- RavenDB
- VelocityDB
- И многое другое...
Многие поставщики баз данных и третьи стороны поддерживают интеграцию Visual Studio с помощью пакетов NuGet. Вы можете ознакомиться с предложениями nuget.org или с помощью диспетчера пакетов NuGet в Visual Studio (Сервис>Диспетчер пакетов NuGet>Управление пакетами NuGet для решения). Другие продукты базы данных интегрируются с Visual Studio в качестве расширения. Эти предложения можно просмотреть в Visual Studio Marketplace или перейти к Extensions>Manage Extensions, а затем выбрать Online в левой панели диалогового окна. Дополнительные сведения см. в разделе Совместимые системы баз данных для Visual Studio.
С помощью подключенных служб Visual Studioвы можете упростить процесс добавления поддержки базы данных в ваши проекты.
Для сценариев SQL Server, которые мы поддерживаем через Подключенные службы:
- SQL Server в локальной сети. В этом сценарии вы устанавливаете SQL Server где-то в локальной сети и подключаетесь к нему.
- SQL Server на локальном компьютере. В этом сценарии необходимо установить SQL Server на локальном компьютере и подключиться к нему.
- SQL Server Express LocalDB. Вы не устанавливаете ничего, кроме Visual Studio; Вы просто подключаетесь к нему.
- SQL Server Express LocalDB в контейнере. LocalDB, как и в предыдущем параметре, но внутри локального контейнера.
- База данных SQL Server Azure. Подключитесь к службе, работающей в Режиме реального времени в Azure.
Для других технологий, связанных с данными, Visual Studio 2022 поддерживает следующее:
- Служба хранилища Azure (как локальная, так и удаленная)
- Azure Cosmos DB (как локальный, так и удаленный)
- SQLite (вариант только для локального использования)
- PostgreSQL в контейнере (параметр только для локального использования)
- MongoDB в контейнере (вариант только для локального использования)
Помимо подключенных служб, в следующих списках отображаются лишь несколько из многих систем базы данных и хранилищ, которые можно использовать из Visual Studio. Предложения Microsoft Azure — это службы данных, которые включают всю подготовку и администрирование базового хранилища данных. Пакет задач разработки Azure в Visual Studio позволяет работать с хранилищами данных Azure прямо из Visual Studio.
Большинство других продуктов базы данных SQL и NoSQL, перечисленных здесь, могут размещаться на локальном компьютере, в локальной сети или в Microsoft Azure на виртуальной машине. Если вы размещаете базу данных на виртуальной машине Microsoft Azure, вы несете ответственность за управление самой базой данных.
Microsoft Azure
- Хранилище данных SQL
- SQL Server Растягиваемая База Данных
- StorSimple
- И многое другое...
SQL
- Жар-птица
- MariaDB
- MySQL
- Оракул
- И многое другое...
NoSQL
- Apache Cassandra
- CouchDB
- MongoDB
- NDatabase
- OrientDB|
- RavenDB
- VelocityDB
- И многое другое...
Заметка
Расширенная поддержка SQL Server 2005 закончилась 12 апреля 2016 г. Нет никаких гарантий, что средства обработки данных в Visual Studio 2015 и более поздних версий будут продолжать работать с SQL Server 2005.
Языки .NET
Технология доступа к данным, описанная в документации по Visual Studio, использует ADO.NET. ADO.NET является устаревшей платформой доступа к данным и не рекомендуется для современных приложений данных. Мы рекомендуем использовать .NET Core или .NET 5 и более поздних версий и использовать Entity Framework Core для разработки доступа к данным.
ADO.NET — это набор классов, определяющих интерфейс для доступа к любому типу источника данных, реляционного и нереляционного. В Visual Studio есть несколько средств и конструкторов, которые работают с ADO.NET для подключения к базам данных, управления данными и представления данных пользователю. В этой документации описывается, как использовать эти средства. Вы также можете программовать непосредственно с объектами команд ADO.NET. Дополнительные сведения о вызове API ADO.NET см. в разделе ADO.NET.
Для получения документации по доступу к данным, связанной с ASP.NET, см. раздел Работа с данными на сайте ASP.NET. Руководство по использованию Entity Framework с ASP.NET model-View-Controller (MVC) можно найти в статье "Начало работы с Entity Framework 6 Code First с использованием MVC 5".
Приложения универсальной платформы Windows (UWP) в C# или Visual Basic могут использовать пакет SDK Microsoft Azure для .NET для доступа к службе хранилища Azure и другим службам Azure. Класс Windows.Web.HttpClient обеспечивает взаимодействие с любой службой RESTful. Дополнительные сведения см. в статье Как подключиться к HTTP-серверу с помощью Windows.Web.Http.
Для хранения данных на локальном компьютере рекомендуется использовать SQLite, который выполняется в том же процессе, что и приложение. Если требуется уровень сопоставления объектов (ORM), можно использовать Entity Framework. Для получения дополнительной информации см. в разделе доступа к данным.
Если вы подключаетесь к службам Azure, обязательно скачайте последние средства azure SDK.
Поставщики данных
Для использования базы данных в ADO.NET он должен иметь настраиваемый поставщик данных ADO.NET или другой должен предоставлять интерфейс ODBC или OLE DB. Корпорация Майкрософт предоставляет список поставщиков данных ADO.NET для продуктов SQL Server, а также поставщиков ODBC и OLE DB.
Заметка
Если вы используете Visual Studio для подключения к базам данных с помощью поставщиков данных OLEDB или ODBC, необходимо знать, что версии Visual Studio до Visual Studio 2022 — это все 32-разрядные процессы. Это означает, что некоторые средства обработки данных в Visual Studio смогут подключаться только к базам данных OLEDB или ODBC с помощью 32-разрядных поставщиков данных. Сюда входят 32-разрядный поставщик данных OLEDB для Microsoft Access, а также другие сторонние 32-разрядные поставщики.
Если вы используете Visual Studio 2022 для подключения к базам данных, необходимо знать, что Visual Studio 2022 — это 64-разрядный процесс. Это означает, что некоторые средства данных в Visual Studio не смогут подключаться к базам данных OLEDB или ODBC с помощью 32-разрядных поставщиков данных.
Если вам нужно поддерживать 32-разрядные приложения, которые подключаются к базам данных OLEDB или ODBC, вы по-прежнему сможете создавать и запускать приложение с помощью Visual Studio 2022. Однако если вам нужно использовать любой из средств обработки данных Visual Studio, таких как обозреватель серверов, мастер источника данных или конструктор наборов данных, вам потребуется использовать более раннюю версию Visual Studio, которая по-прежнему является 32-разрядным процессом. Последняя версия Visual Studio, которая была 32-разрядным процессом, была Visual Studio 2019.
Если вы планируете преобразовать проект в 64-разрядный процесс, рекомендуется использовать 64-разрядную подсистему СУБД Microsoft Access, которая также называется подсистемой подключения Access (ACE). См. , чтобы получить дополнительные сведения о том, что поставщик OLE DB для Jet и драйвер ODBC существуют только в 32-разрядных версиях.
Моделирование данных
В .NET есть три варианта моделирования и управления данными в памяти после получения данных из источника данных:
Entity Framework: предпочтительная технология Microsoft ORM. Его можно использовать для программирования с реляционными данными в качестве объектов .NET первого класса. Для новых приложений он должен быть первым выбором по умолчанию при необходимости модели. Для этого требуется настраиваемая поддержка от базового поставщика ADO.NET.
LINQ to SQL: устаревший инструмент для объектно-реляционного отображения. Он хорошо работает для менее сложных сценариев, но больше не находится в активной разработке.
наборы данных: самый старый из трех технологий моделирования. Он предназначен в первую очередь для быстрого разработки приложений "форм по данным", в которых вы не обрабатываете огромные объемы данных или выполняете сложные запросы или преобразования. Объект DataSet состоит из объектов DataTable и DataRow, которые логически похожи на объекты Базы данных SQL гораздо больше, чем объекты .NET. Для относительно простых приложений на основе источников данных SQL наборы данных по-прежнему могут быть хорошим выбором.
Нет необходимости использовать какие-либо из этих технологий. В некоторых сценариях, особенно когда производительность важна, можно просто использовать объект DataReader для чтения из базы данных и копирования значений, необходимых для объекта коллекции, например List<T>.
Нативный C++
Приложения C++, подключающиеся к SQL Server, должны использовать Microsoft® ODBC Driver 13.1 для SQL Server в большинстве случаев. Если серверы связаны, необходимо использовать OLE DB и для этого используется SQL Server Native Client. Доступ к другим базам данных можно получить напрямую с помощью драйверов ODBC или OLE DB. ODBC — это текущий стандартный интерфейс базы данных, но большинство систем баз данных предоставляют пользовательские функциональные возможности, к которым не удается получить доступ через интерфейс ODBC. OLE DB — это устаревшая технология доступа к данным COM, которая по-прежнему поддерживается, но не рекомендуется для новых приложений. Дополнительную информацию см. в разделе "Доступ к данным в Visual C++".
Программы C++, использующие службы REST, могут использовать пакет SDK REST для C++.
Моделирование данных — Visual Studio не предоставляет уровень ORM для C++. ODB — это популярный ORM с открытым исходным кодом для C++.
Дополнительные сведения о подключении к базам данных из приложений C++ можно найти в разделе Средства работы с данными Visual Studio для C++.
JavaScript
JavaScript в Visual Studio — это первоклассный язык для создания кроссплатформенных приложений, приложений UWP, облачных сервисов, веб-сайтов и веб-приложений. Вы можете использовать Bower, Grunt, Gulp, npm и NuGet из Visual Studio для установки любимых библиотек JavaScript и продуктов базы данных. Подключитесь к хранилищу Azure и службам, скачав пакеты SDK с веб-сайта Azure. Edge.js — это библиотека, которая подключает серверную часть JavaScript (Node.js) к источникам данных ADO.NET.
Питон
Установите поддержку для Python в Visual Studio, чтобы создавать приложения на языке Python. Документация Azure содержит несколько руководств по подключению к данным, включая следующие:
- Django и База данных SQL в Azure
- Django и MySQL в Azure
- Работа с блобами , файлами , очередями и таблицами (Cosmo DB).
Связанное содержимое
Хранилище Microsoft Azure— Описывает хранилище Azure и как создавать приложения с помощью больших двоичных объектов, таблиц, очередей и файлов Azure.
Azure SQL Database— описывает подключение к Azure SQL Database, реляционной базе данных в качестве облачной службы.
sql Server Data Tools— описывает средства, упрощающие проектирование, изучение, тестирование и развертывание приложений и баз данных, подключенных к данным.
ADO.NET— описывает архитектуру ADO.NET и использование классов ADO.NET для управления данными приложения и взаимодействия с источниками данных и XML.
ADO.NET Entity Framework— описывает создание приложений данных, позволяющих разработчикам программироваться в концептуальной модели, а не непосредственно с реляционной базой данных.
Службы данных WCF 4.5— описывает, как использовать службы данных WCF для развертывания служб данных в Интернете или интрасети, реализующих Открытый протокол данных (OData).
данные в решениях Office— содержит ссылки на разделы, которые объясняют работу данных в решениях Office. Сюда входят сведения о программировании на основе схемы, кэшировании данных и доступе к данным на стороне сервера.
LINQ (языковой интегрированный запрос) — описывает возможности запросов, встроенные в C# и Visual Basic, а также общую модель для запроса реляционных баз данных, XML-документов, наборов данных и коллекций в памяти.
Инструменты XML в Visual Studio— обсуждает работу с XML-данными, отладку XSLT, возможности .NET XML и архитектуру XML-запросов.
XML-документы и данные— предоставляет обзор комплексного и интегрированного набора классов, работающих с XML-документами и данными в .NET.