Доступ к данным в Visual StudioAccess 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.

Рабочая нагрузка "Разработка для 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 DBAzure 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
  • OracleOracle
  • PostgreSQLPostgreSQL
  • SQLiteSQLite
  • И многое другое!And more...

NoSQLNoSQL

  • Apache CassandraApache Cassandra
  • CouchDBCouchDB
  • MongoDBMongoDB
  • ДанныхNDatabase
  • OrientDB |OrientDB|
  • RavenDBRavenDB
  • VelocityDBVelocityDB
  • И многое другое!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 или перехода к средства > расширения и обновления и выбрав Online в левой области диалогового окна.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 или перехода к расширения > Управление расширениями и выбрав Online в левой области диалогового окна.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.

Note

Расширенная поддержка 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. Дополнительные сведения см. в разделе end-of-support объявление о выпуске для 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 или else должны предоставлять интерфейс 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 для чтения из базы данных и скопируйте необходимые значения в объект коллекции, такой как список<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 Driver 13.1 for 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.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++, которые используют службы REST можно использовать C++ REST SDK.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 для 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 — полноправный язык для создания кроссплатформенных приложений, приложений универсальной платформы Windows, облачных служб, веб-сайтов и веб-приложений.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 — это библиотека, которая подключается к источникам данных ADO.NET JavaScript на стороне сервера (Node.js).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:

Платформа искусственного Интеллекта Майкрософт—введение в интеллектуальное облако Microsoft, включая Cortana 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 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 (Language-Integrated Query)—описывает возможности запросов, встроенных в 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—рассматривается работа с возможности .NET XML данные отладки XSLT, XML и архитектура 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.