Visual Studio でのデータの使用Work 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 には、.NET、Java、Node.js、PHP、Python、Ruby、モバイルアプリ用の Sdk と、Azure Storage に接続するための Visual Studio のツールが用意されています。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. Visual studio 2017azure 開発 ワークロードを使用すると、Visual studio から直接 azure データストアを操作できます。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. Visual studio 2019azure 開発 ワークロードを使用すると、Visual studio から直接 azure データストアを操作できます。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

  • SQL DatabaseSQL Database
  • Azure Cosmos DBAzure Cosmos DB
  • ストレージ (blob、テーブル、キュー、ファイル)Storage (blobs, tables, queues, files)
  • SQL Data WarehouseSQL 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
  • NDatabaseNDatabase
  • OrientDB |OrientDB|
  • RavenDBRavenDB
  • VelocityDBVelocityDB
  • その他...And more...

多くのデータベースベンダーとサードパーティは、NuGet パッケージによる Visual Studio の統合をサポートしています。Many database vendors and third parties support Visual Studio integration by NuGet packages. Nuget.org または Visual Studio の nuget パッケージマネージャー ([ツール] [ > 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.

多くのデータベースベンダーとサードパーティは、NuGet パッケージによる Visual Studio の統合をサポートしています。Many database vendors and third parties support Visual Studio integration by NuGet packages. Nuget.org または Visual Studio の nuget パッケージマネージャー ([ツール] [ > 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 の延長サポートは 2016 年 4 月 12 日で終了しました。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 Core を含むすべての .NET データアクセスは、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 command オブジェクトに対して直接プログラムを実行することもできます。You can also program directly against the ADO.NET command objects. ADO.NET Api を直接呼び出す方法の詳細については、 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. ASP.NET MVC での Entity Framework の使用に関するチュートリアルについては、「 mvc 5 を使用した Entity Framework 6 Code First のはじめに」を参照してください。For a tutorial on using Entity Framework with ASP.NET MVC, see Getting Started with Entity Framework 6 Code First using MVC 5.

C# または Visual Basic のユニバーサル Windows プラットフォーム (UWP) アプリは、Microsoft Azure SDK for .NET を使用して Azure Storage およびその他の 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. 詳細については、「 Windows を使用して 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. Microsoft では、SQL Server 製品用の ADO.NET データプロバイダー 、および 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 では、データソースからデータを取得した後、メモリ内のデータをモデル化して操作するための3つの選択肢があります。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.

データセット 3つのモデリングテクノロジの中で最も古いもの。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 オブジェクトは、.NET オブジェクトよりはるかに多くの SQL database オブジェクトに似た DataTable オブジェクトと DataRow オブジェクトで構成されています。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++

SQL Server に接続する C++ アプリケーションでは、ほとんどの場合、 SQL Server に Microsoft® ODBC ドライバー 13.1 を使用する必要があります。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++.

REST サービスを使用する c++ プログラムでは、 C++ REST SDKを使用できます。C++ programs that consume REST services can use the C++ REST SDK.

Microsoft Azure Storage で動作する C++ プログラムは、 Microsoft Azure Storage クライアントを使用できます。C++ programs that work with Microsoft Azure Storage can use the Microsoft Azure Storage Client.

データモデリング — Visual Studio では、C++ の ORM レイヤーは提供されていません。Data modeling—Visual Studio does not provide an ORM layer for C++. Odbc は、C++ 用の広く普及しているオープンソースの ORM です。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

Visual Studio の JavaScript は、クロスプラットフォームアプリ、UWP アプリ、クラウドサービス、web サイト、web アプリを構築するためのファーストクラスの言語です。JavaScript in Visual Studio is a first-class language for building cross-platform apps, UWP apps, cloud services, websites, and web apps. Visual Studio 内から Bower、Grunt、Gulp、npm、および NuGet を使用して、お気に入りの JavaScript ライブラリとデータベース製品をインストールできます。You can use Bower, Grunt, Gulp, npm, and NuGet from within Visual Studio to install your favorite JavaScript libraries and database products. Azure の web サイトから sdk をダウンロードして、azure storage とサービスに接続します。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:

MICROSOFT AI プラットフォーム —Cortana Analytics Suite やモノのインターネットのサポートなど、Microsoft インテリジェントクラウドの概要について説明します。Microsoft AI platform—Provides an introduction to the Microsoft intelligent cloud, including Cortana Analytics Suite and support for Internet of Things.

Microsoft Azure Storage —Azure Storage について説明します。また、Azure blob、テーブル、キュー、およびファイルを使用してアプリケーションを作成する方法について説明します。Microsoft Azure Storage—Describes Azure Storage, and how to create applications by using Azure blobs, tables, queues, and files.

Azure SQL Database —サービスとしてのリレーショナルデータベース Azure SQL Database に接続する方法について説明します。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 —を使用して、 WCF Data ServicesWCF Data Services web 上またはOpen Data Protocol (OData)を実装するイントラネットにデータサービスを配置する方法について説明します。WCF Data Services 4.5—Describes how to use WCF Data ServicesWCF 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.

Visual Studio — の XML ツールXML データの操作、XSLT のデバッグ、.NET 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 ドキュメントとデータを操作する包括的で統合されたクラスのセットについて概要を説明します。XML Documents and Data—Provides an overview to a comprehensive and integrated set of classes that work with XML documents and data in .NET.