Работа с данными в Visual StudioWork with data in Visual Studio

В Visual Studio можно создавать приложения, которые подключаются к данным практически в любом продукте или службе базы данных, в любом формате, где угодно — на локальном компьютере, в локальной сети или в общедоступном, частном или гибридном облаке.In Visual Studio, you can create applications that connect to data in virtually any database product or service, in any format, anywhere—on a local machine, on a local area network, or in a public, private, or hybrid cloud.

Для приложений на JavaScript, Python, PHP, Ruby или C++ вы подключаетесь к данным, как и любые другие, путем получения библиотек и написания кода.For applications in JavaScript, Python, PHP, Ruby, or C++, you connect to data like you do anything else, by obtaining libraries and writing code. Для приложений .NET Visual Studio предоставляет средства, которые можно использовать для просмотра источников данных, создания объектных моделей для хранения данных и управления ими в памяти, а также для привязки данных к пользовательскому интерфейсу.For .NET applications, Visual Studio provides tools that you can use to explore data sources, create object models to store and manipulate data in memory, and bind data to the user interface. Microsoft Azure предоставляет пакеты SDK для .NET, Java, Node.js, PHP, Python, Ruby и мобильных приложений, а также средства в Visual Studio для подключения к службе хранилища Azure.Microsoft Azure provides SDKs for .NET, Java, Node.js, PHP, Python, Ruby, and mobile apps, and tools in Visual Studio for connecting to Azure Storage.

В следующих списках показаны лишь некоторые из многих баз данных и систем хранения, которые можно использовать из Visual Studio.The following lists show just a few of the many database and storage systems that can be used from Visual Studio. Предложения Microsoft Azure — это службы данных, включающие все подготовку и администрирование базового хранилища данных.The Microsoft Azure offerings are data services that include all provisioning and administration of the underlying data store. Рабочая нагрузка разработки Azure в Visual Studio 2017 позволяет работать с хранилищами данных Azure непосредственно из Visual Studio.The Azure development workload in Visual Studio 2017 enables you to work with Azure data stores directly from Visual Studio.

В следующих списках показаны лишь некоторые из многих баз данных и систем хранения, которые можно использовать из Visual Studio.The following lists show just a few of the many database and storage systems that can be used from Visual Studio. Предложения Microsoft Azure — это службы данных, включающие все подготовку и администрирование базового хранилища данных.The Microsoft Azure offerings are data services that include all provisioning and administration of the underlying data store. Рабочая нагрузка разработки Azure в Visual Studio 2019 позволяет работать с хранилищами данных Azure непосредственно из Visual Studio.The Azure development workload in Visual Studio 2019 enables you to work with Azure data stores directly from Visual Studio.

Рабочая нагрузка "Разработка для Azure".

Большинство других перечисленных здесь продуктов баз данных SQL и NoSQL могут размещаться на локальном компьютере, в локальной сети или в Microsoft Azure на виртуальной машине.Most of the other SQL and NoSQL database products that are listed here can be hosted on a local machine, on a local network, or in Microsoft Azure on a virtual machine. Если база данных размещена на Microsoft Azure виртуальной машине, вы несете ответственность за управление самой базой данных.If you host the database in a Microsoft Azure virtual machine, you're responsible for managing the database itself.

Microsoft AzureMicrosoft Azure

  • База данных SQLSQL Database
  • Azure Cosmos DB;Azure Cosmos DB
  • Хранилище (большие двоичные объекты, таблицы, очереди, файлы)Storage (blobs, tables, queues, files)
  • Хранилище данных SQLSQL Data Warehouse
  • SQL Server Stretch DatabaseSQL Server Stretch Database
  • StorSimpleStorSimple
  • И многое другое.And more...

SQLSQL

  • SQL Server 2005-2016 (включает Express и LocalDB)SQL Server 2005-2016 (includes Express and LocalDB)
  • FirebirdFirebird
  • MariaDBMariaDB
  • MySQLMySQL
  • Oracle;Oracle
  • PostgreSQLPostgreSQL
  • SQLiteSQLite
  • И многое другое.And more...

NoSQLNoSQL

  • Apache CassandraApache Cassandra
  • CouchDBCouchDB
  • MongoDBMongoDB
  • ндатабасеNDatabase
  • Ориентдб |OrientDB|
  • RavenDBRavenDB
  • велоЦитидбVelocityDB
  • И многое другое.And more...

Многие поставщики баз данных и сторонние производители поддерживают интеграцию с Visual Studio с помощью пакетов NuGet.Many database vendors and third parties support Visual Studio integration by NuGet packages. Вы можете исследовать предложения в NuGet.org или с помощью диспетчера пакетов NuGet в Visual Studio ( инструменты > Диспетчер пакетов NuGet > Управление пакетами NuGet для решения ).You can explore the offerings on nuget.org or through the NuGet Package Manager in Visual Studio ( Tools > NuGet Package Manager > Manage NuGet Packages for Solution ). Другие продукты баз данных интегрируются с Visual Studio как расширение.Other database products integrate with Visual Studio as an extension. Эти предложения можно просмотреть в Visual Studio Marketplace или перейдя к средствам > расширения и обновления , а затем выбрав пункт в сети в левой области диалогового окна.You can browse these offerings in the Visual Studio Marketplace or by navigating to Tools > Extensions and Updates and then selecting Online in the left pane of the dialog box. Дополнительные сведения см. в разделе совместимые системы баз данных для Visual Studio.For more information, see Compatible database systems for Visual Studio.

Многие поставщики баз данных и сторонние производители поддерживают интеграцию с Visual Studio с помощью пакетов NuGet.Many database vendors and third parties support Visual Studio integration by NuGet packages. Вы можете исследовать предложения в NuGet.org или с помощью диспетчера пакетов NuGet в Visual Studio ( инструменты > Диспетчер пакетов NuGet > Управление пакетами NuGet для решения ).You can explore the offerings on nuget.org or through the NuGet Package Manager in Visual Studio ( Tools > NuGet Package Manager > Manage NuGet Packages for Solution ). Другие продукты баз данных интегрируются с Visual Studio как расширение.Other database products integrate with Visual Studio as an extension. Эти предложения можно просмотреть в Visual Studio Marketplace или перейдя к расширениям > Управление расширениями , а затем выбрав "в сети " в левой области диалогового окна.You can browse these offerings in the Visual Studio Marketplace or by navigating to Extensions > Manage Extensions and then selecting Online in the left pane of the dialog box. Дополнительные сведения см. в разделе совместимые системы баз данных для Visual Studio.For more information, see Compatible database systems for Visual Studio.

Примечание

Расширенная поддержка SQL Server 2005 закончилась 12 апреля 2016 г.Extended support for SQL Server 2005 ended on April 12, 2016. Нет никакой гарантии, что средства работы с данными в Visual Studio 2015 и более поздних версий будут продолжать работать с SQL Server 2005.There is no guarantee that data tools in Visual Studio 2015 and later will continue to work with SQL Server 2005. Дополнительные сведения см. в объявлении об окончании поддержки для SQL Server 2005.For more information, see the end-of-support announcement for SQL Server 2005.

Языки платформы .NET.NET languages

Весь доступ к данным .NET, включая в .NET Core, основан на ADO.NET, наборе классов, определяющих интерфейс для доступа к любому типу источника данных — реляционному и нереляционному.All .NET data access, including in .NET Core, is based on ADO.NET, a set of classes that defines an interface for accessing any kind of data source, both relational and non-relational. Visual Studio содержит несколько средств и конструкторов, которые работают с ADO.NET для подключения к базам данных, управления данными и предоставления данных пользователю.Visual Studio has several tools and designers that work with ADO.NET to help you connect to databases, manipulate the data, and present the data to the user. В документации в этом разделе описывается использование этих средств.The documentation in this section describes how to use those tools. Вы также можете программировать непосредственно для командных объектов ADO.NET.You can also program directly against the ADO.NET command objects. Дополнительные сведения о непосредственном вызове API-интерфейсов ADO.NET см. в разделе ADO.NET.For more information about calling the ADO.NET APIs directly, see ADO.NET.

Документацию по доступу к данным, связанную с ASP.NET, см. в разделе Работа с данными на сайте ASP.NET.For data-access documentation related to ASP.NET, see Working with Data on the ASP.NET site. Руководство по использованию Entity Framework с ASP.NET MVC см. в разделе Начало работы с Entity Framework 6 Code First с помощью MVC 5.For a tutorial on using Entity Framework with ASP.NET MVC, see Getting Started with Entity Framework 6 Code First using MVC 5.

Приложения универсальная платформа Windows (UWP) на C# или Visual Basic могут использовать Пакет Microsoft Azure SDK для .NET для доступа к службе хранилища Azure и другим службам Azure.Universal Windows Platform (UWP) apps in C# or Visual Basic can use the Microsoft Azure SDK for .NET to access Azure Storage and other Azure services. Класс Windows. Web. HttpClient обеспечивает взаимодействие с любой службой RESTFUL.The Windows.Web.HttpClient class enables communication with any RESTful service. Дополнительные сведения см. в разделе Подключение к HTTP-серверу с помощью Windows. Web. http.For more information, see How to connect to an HTTP server using Windows.Web.Http.

Для хранения данных на локальном компьютере рекомендуемым подходом является использование SQLite, который выполняется в том же процессе, что и приложение.For data storage on the local machine, the recommended approach is to use SQLite, which runs in the same process as the app. Если требуется уровень объектно-реляционного сопоставления (ORM), можно использовать Entity Framework.If an object-relational mapping (ORM) layer is required, you can use Entity Framework. Дополнительные сведения см. в статье доступ к данным в центре разработчиков Windows.For more information, see Data access in the Windows Developer Center.

При подключении к службам Azure обязательно Скачайте последние версии средств Azure SDK.If you are connecting to Azure services, be sure to download the latest Azure SDK tools.

Поставщики данныхData providers

Чтобы базу данных можно было использовать в ADO.NET, она должна иметь настраиваемый поставщик данных ADO.NET или интерфейс ODBC или OLE DB.For a database to be consumable in ADO.NET, it must have a custom ADO.NET data provider or else must expose an ODBC or OLE DB interface. Корпорация Майкрософт предоставляет список поставщиков данных ADO.NET для продуктов SQL Server, а также поставщиков ODBC и OLE DB.Microsoft provides a list of ADO.NET data providers for SQL Server products, as well as ODBC and OLE DB providers.

Моделирование данныхData modeling

В .NET существует три варианта моделирования и манипулирования данными в памяти после их извлечения из источника данных.In .NET, you have three choices for modeling and manipulating data in memory after you have retrieved it from a data source:

Entity Framework Предпочтительная технология Microsoft ORM.Entity Framework The preferred Microsoft ORM technology. Его можно использовать для программирования реляционных данных в качестве объектов .NET первого класса.You can use it to program against relational data as first-class .NET objects. Для новых приложений он должен быть первым выбором по умолчанию, если требуется модель.For new applications, it should be the default first choice when a model is required. Для этого требуется пользовательская поддержка от базового поставщика ADO.NET.It requires custom support from the underlying ADO.NET provider.

LINQ to SQL Объектно-реляционное средство сопоставления более раннего поколения.LINQ to SQL An earlier-generation object-relational mapper. Он хорошо работает для менее сложных сценариев, но больше не находится в активной разработке.It works well for less complex scenarios but is no longer in active development.

Наборы данных Самая старая из трех технологий моделирования.Datasets The oldest of the three modeling technologies. Она разработана в основном для быстрой разработки приложений "формы по данным", в которых не выполняется обработка огромных объемов данных или выполнение сложных запросов или преобразований.It is designed primarily for rapid development of "forms over data" applications in which you are not processing huge amounts of data or performing complex queries or transformations. Объект DataSet состоит из объектов DataTable и DataRow, которые логически похожи на объекты базы данных SQL гораздо больше, чем объекты .NET.A DataSet object consists of DataTable and DataRow objects that logically resemble SQL database objects much more than .NET objects. Для относительно простых приложений, основанных на источниках данных SQL, все еще могут быть хорошим выбором.For relatively simple applications based on SQL data sources, datasets might still be a good choice.

Использование этих технологий не требуется.There is no requirement to use any of these technologies. В некоторых сценариях, особенно если важна производительность, можно просто использовать объект DataReader для чтения из базы данных и копирования нужных значений в объект коллекции, например в List <T> .In some scenarios, especially where performance is critical, you can simply use a DataReader object to read from the database and copy the values that you need into a collection object such as List<T>.

Машинный C++Native C++

Приложения C++, подключающиеся к SQL Server, должны использовать драйвер Microsoft® ODBC 13,1 для SQL Server в большинстве случаев.C++ applications that connect to SQL Server should use the Microsoft® ODBC Driver 13.1 for SQL Server in most cases. Если серверы связаны, OLE DB является обязательным и для использования SQL Server Native Client.If the servers are linked, then OLE DB is necessary and for that you use the SQL Server Native Client. Доступ к другим базам данных можно получить с помощью ODBC или драйверов OLE DB напрямую.You can access other databases by using ODBC or OLE DB drivers directly. ODBC — это текущий стандартный интерфейс базы данных, но большинство систем баз данных предоставляют настраиваемые функции, доступ к которым через интерфейс ODBC невозможен.ODBC is the current standard database interface, but most database systems provide custom functionality that can't be accessed through the ODBC interface. OLE DB — это устаревшая технология доступа к данным COM, которая по-прежнему поддерживается, но не рекомендуется для новых приложений.OLE DB is a legacy COM data-access technology that is still supported but not recommended for new applications. Дополнительные сведения см. в статье Доступ к данным в Visual C++.For more information, see Data Access in Visual C++.

Программы на языке c++, использующие службы RESTFUL, могут использовать пакет SDK для c++ для другихприложений.C++ programs that consume REST services can use the C++ REST SDK.

Программы на языке C++, работающие с служба хранилища Microsoft Azure, могут использовать клиент служба хранилища Microsoft Azure.C++ programs that work with Microsoft Azure Storage can use the Microsoft Azure Storage Client.

Моделирование данных — Visual Studio не предоставляет уровень ORM для C++.Data modeling—Visual Studio does not provide an ORM layer for C++. ODB — это популярная модель ORM с открытым кодом для C++.ODB is a popular open-source ORM for C++.

Дополнительные сведения о подключении к базам данных из приложений C++ см. в статье Visual Studio Data Tools for c++.To learn more about connecting to databases from C++ apps, see Visual Studio data tools for C++. Дополнительные сведения об устаревших Visual C++ технологиях доступа к данным см. в разделе доступ к данным.For more information about legacy Visual C++ data-access technologies, see Data Access.

JavaScriptJavaScript

JavaScript в Visual Studio — это язык первого класса для создания кросс-платформенных приложений, приложений UWP, облачных служб, веб-сайтов и веб-приложений.JavaScript in Visual Studio is a first-class language for building cross-platform apps, UWP apps, cloud services, websites, and web apps. Вы можете использовать Bower, grunt, gulp, NPM и NuGet в Visual Studio для установки избранных библиотек JavaScript и продуктов баз данных.You can use Bower, Grunt, Gulp, npm, and NuGet from within Visual Studio to install your favorite JavaScript libraries and database products. Подключитесь к службе хранилища Azure и службам, загрузив пакеты SDK с веб-сайта Azure.Connect to Azure storage and services by downloading SDKs from the Azure website. Edge.js — это библиотека, которая подключает серверный код JavaScript (Node.js) к источникам данных ADO.NET.Edge.js is a library that connects server-side JavaScript (Node.js) to ADO.NET data sources.

PythonPython

Установите поддержку Python в Visual Studio для создания приложений Python.Install Python support in Visual Studio to create Python applications. В документации по Azure есть несколько руководств по подключению к данным, включая следующие:The Azure documentation has several tutorials on connecting to data, including the following:

Платформа искусственного интеллекта Майкрософт — Содержит введение в интеллектуальное облако Майкрософт, включая Кортану Analytics Suite и поддержку "Интернет вещей".Microsoft AI platform—Provides an introduction to the Microsoft intelligent cloud, including Cortana Analytics Suite and support for Internet of Things.

Служба хранилища Microsoft Azure — Описание службы хранилища Azure и создания приложений с помощью больших двоичных объектов, таблиц, очередей и файлов Azure.Microsoft Azure Storage—Describes Azure Storage, and how to create applications by using Azure blobs, tables, queues, and files.

База данных — SQL Azure Описывает, как подключиться к базе данных SQL Azure — реляционной базе данных в качестве службы.Azure SQL Database—Describes how to connect to Azure SQL Database, a relational database as a service.

SQL Server Data Tools — Содержит описание средств, упрощающих проектирование, изучение, тестирование и развертывание приложений и баз данных, подключенных к данным.SQL Server Data Tools—Describes the tools that simplify design, exploration, testing, and deploying of data-connected applications and databases.

ADO.NET — Описывает архитектуру ADO.NET и использование классов ADO.NET для управления данными приложения и взаимодействия с источниками данных и XML.ADO.NET—Describes the ADO.NET architecture and how to use the ADO.NET classes to manage application data and interact with data sources and XML.

ADO.NET Entity Framework — Описывает создание приложений для работы с данными, которые позволяют разработчикам программировать на основе концептуальной модели, а не непосредственно в реляционной базе данных.ADO.NET Entity Framework—Describes how to create data applications that allow developers to program against a conceptual model instead of directly against a relational database.

WCF Data Services 4,5 — Описывает использование Службы данных WCFWCF Data Services для развертывания служб данных в Интернете или интрасети, которые реализуют Open Data Protocol (OData).WCF Data Services 4.5—Describes how to use Службы данных WCFWCF Data Services to deploy data services on the web or an intranet that implement the Open Data Protocol (OData).

Данные в решениях Office — Содержит ссылки на разделы, в которых объясняется, как работают данные в решениях Office.Data in Office Solutions—Contains links to topics that explain how data works in Office solutions. Сюда входят сведения о программировании на основе схемы, кэшировании данных и доступе к данным на стороне сервера.This includes information about schema-oriented programming, data caching, and server-side data access.

LINQ (интегрированный в язык запрос) — Описывает возможности запросов, встроенные в C# и Visual Basic, а также общую модель для запросов к реляционным базам данных, XML-документам, наборам данных и коллекциям в памяти.LINQ (Language-Integrated Query)—Describes the query capabilities built into C# and Visual Basic, and the common model for querying relational databases, XML documents, datasets, and in-memory collections.

Средства XML в Visual Studio — Описывает работу с XML-данными, отладку XSLT, функции XML .NET и архитектуру XML-запросов.XML Tools in Visual Studio—Discusses working with XML data, debugging XSLT, .NET XML features, and the architecture of XML Query.

XML-документы и данные — Содержит общие сведения о комплексном и интегрированном наборе классов, работающих с XML-документами и данными в .NET.XML Documents and Data—Provides an overview to a comprehensive and integrated set of classes that work with XML documents and data in .NET.