在 Visual Studio 中使用資料

在 Visual Studio 中,您可以建立應用程式,在任何位置 (本機電腦、區域網路、公用雲端、私人雲端或混合式雲端) 以任何格式連線到幾乎所有資料庫產品或服務中的資料。

針對 JavaScript、Python、PHP、Ruby 或 C++ 中的應用程式,您可以像執行其他動作一樣,透過取得程式庫和撰寫程式碼連線到資料。 針對 .NET 應用程式,Visual Studio 會提供一些工具,您可以用來探索資料來源、建立物件模型來儲存及操作記憶體中的資料,以及將資料繫結至使用者介面。 Microsoft Azure 提供適用於 .NET、Java、Node.js、PHP、Python、Ruby 和行動應用程式的 SDK,以及 Visual Studio 中用於連線至 Azure 儲存體的工具。

有許多可從 Visual Studio 使用的資料庫和儲存體系統,下列清單僅顯示其中一些。 Microsoft Azure 供應項目是資料服務,其中包含基礎資料存放區的所有佈建和管理。 Visual Studio 中的 Azure 開發工作負載可讓您直接從 Visual Studio 使用 Azure 資料存放區。

Azure 開發工作負載

此處列出的大部分其他 SQL 和 NoSQL 資料庫產品都可以裝載在本機電腦、區域網路上,或裝載在虛擬機器上的 Microsoft Azure 中。 如果您在 Microsoft Azure 虛擬機器中裝載資料庫,則必須負責管理資料庫本身。

Microsoft Azure

  • SQL Database
  • Azure Cosmos DB
  • 儲存體 (blob、資料表、佇列、檔案)
  • SQL 資料倉儲
  • SQL Server Stretch Database
  • StorSimple
  • 還有更多...

SQL

  • SQL Server 2005-2016 (包括 Express 和 LocalDB)
  • Firebird
  • MariaDB
  • MySQL
  • Oracle
  • PostgreSQL
  • SQLite
  • 還有更多...

NoSQL

  • Apache Cassandra
  • CouchDB
  • MongoDB
  • NDatabase
  • OrientDB|
  • RavenDB
  • VelocityDB
  • 還有更多...

許多資料庫廠商和協力廠商都透過 NuGet 套件支援 Visual Studio 整合。 您可以在 nuget.org 上探索供應項目,或透過 Visual Studio 中的 NuGet 套件管理員 ([工具]>[NuGet 套件管理員]>[管理解決方案的 NuGet 套件]) 探索供應項目。 其他資料庫產品會與 Visual Studio 整合成延伸模組。 您可以在 Visual Studio Marketplace 中瀏覽這些供應項目,或藉由瀏覽至 [延伸模組]>[管理延伸模組],然後在對話方塊的左窗格中選取 [線上] 來瀏覽這些供應項目。 如需詳細資訊,請參閱 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 與上一個選項相同,但在本機容器內。
  • Azure SQL Server DB。 連線至 Azure 中即時執行的服務。

對於其他資料相關技術,Visual Studio 2022 支援下列各項:

  • Azure 儲存體 (本機和遠端)
  • Azure Cosmos DB (本機和遠端)
  • SQLite (僅限本機選項)
  • 容器上的 PostgreSQL (僅限本機選項)
  • 容器上的 MongoDB (僅限本機選項)

除了連線服務之外,還有許多可從 Visual Studio 使用的資料庫和儲存體系統,下列清單只顯示了其中一些。 Microsoft Azure 供應項目是資料服務,其中包含基礎資料存放區的所有佈建和管理。 Visual Studio 中的 Azure 開發工作負載可讓您直接從 Visual Studio 使用 Azure 資料存放區。

Azure 開發工作負載

此處列出的大部分其他 SQL 和 NoSQL 資料庫產品都可以裝載在本機電腦、區域網路上,或裝載在虛擬機器上的 Microsoft Azure 中。 如果您在 Microsoft Azure 虛擬機器中裝載資料庫,則必須負責管理資料庫本身。

Microsoft Azure

  • SQL 資料倉儲
  • SQL Server Stretch Database
  • StorSimple
  • 還有更多...

SQL

  • Firebird
  • MariaDB
  • MySQL
  • Oracle
  • 還有更多...

NoSQL

  • Apache Cassandra
  • CouchDB
  • MongoDB
  • NDatabase
  • OrientDB|
  • RavenDB
  • VelocityDB
  • 還有更多...

注意

SQL Server 2005 的延伸支援已於 2016 年 4 月 12 日結束。 不保證 Visual Studio 2015 和更新版本中的資料工具會繼續使用 SQL Server 2005。 如需詳細資訊,請參閱<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 命令物件設計程式。 如需直接呼叫 ADO.NET API 的詳細資訊,請參閱 ADO.NET

如需與 ASP.NET 相關的資料存取文件,請參閱 ASP.NET 網站上的使用資料。 如需使用 Entity Framework 搭配 ASP.NET Model-View-Controller (MVC) 的教學課程,請參閱<使用 MVC 5 開始使用 Entity Framework 6 Code First>(英文)。

C# 或 Visual Basic 中的通用 Windows 平台 (UWP) 應用程式可以使用 Microsoft Azure SDK for .NET,存取 Azure 儲存體和其他 Azure 服務。 Windows.Web.HttpClient 類別會啟用與任何 RESTful 服務的通訊。 如需詳細資訊,請參閱如何使用 Windows.Web.Http 連線至 HTTP 伺服器

針對本機電腦上的資料儲存體,建議的方法是使用 SQLite,其會與應用程式在同一流程中執行。 如果需要物件關聯式對應 (ORM) 層,您可以使用 Entity Framework。 如需詳細資訊,請參閱 Windows 開發人員中心的資料存取

如果您要連線至 Azure 服務,請務必下載最新的 Azure SDK 工具

資料提供者

若要讓資料庫可在 ADO.NET 中取用,其必須具有自訂「ADO.NET 資料提供者」,否則必須公開 ODBC 或 OLE DB 介面。 Microsoft 為 SQL Server 產品提供 ADO.NET 資料提供者的清單,以及 ODBC 和 OLE DB 提供者。

注意

如果您要使用 Visual Studio,藉由使用 OLEDB 或 ODBC 資料提供者連線至資料庫,您必須注意 Visual Studio 2022 之前的 Visual Studio 版本都是 32 位元處理序。 這表示 Visual Studio 中的某些資料工具只能夠使用 32 位元資料提供者,連線至 OLEDB 或 ODBC 資料庫。 這包括 Microsoft Access 32 位元 OLEDB 資料提供者,以及其他協力廠商 32 位元提供者。

如果您要使用 Visual Studio 2022 連線至資料庫,您必須注意 Visual Studio 2022 是 64 位元處理序。 這表示 Visual Studio 中的某些資料工具將無法使用 32 位元資料提供者,連線至 OLEDB 或 ODBC 資料庫。

如果需要維護連線至 OLEDB 或 ODBC 資料庫的 32 位元應用程式,您仍然能夠使用 Visual Studio 2022 建置並執行應用程式。 不過,如果您需要使用任何 Visual Studio 資料工具 (例如伺服器總管、資料來源精靈或資料集設計工具),則必須使用仍為 32 位元處理序的舊版 Visual Studio。 Visual Studio 的最後一個 32 位元處理序版本是 Visual Studio 2019。

如果您打算將專案轉換成 64 位元處理序,建議使用 64 位元 Microsoft Access 資料庫引擎,也稱為 Access Connectivity Engine (ACE)。 如需詳細資訊,請參閱 OLE DB Provider for Jet 和 ODBC 驅動程式僅為 32 位元版本

資料模型

在 .NET 中,從資料來源擷取了資料之後,您有三種模型化和操作記憶體中資料的選項:

Entity Framework 慣用的 Microsoft ORM 技術。 您可以使用此技術,針對作為一流 .NET 物件的關聯式資料進行程式設計。 對於新的應用程式,當需要模型時,其應該是預設的第一選擇。 其需要來自基礎 ADO.NET 提供者的自訂支援。

LINQ to SQL 舊世代物件關聯式對應工具。 其適用於不太復雜的案例,但已不再積極開發。

資料集 三種模型化技術中最舊的。 其設計主要旨在快速開發「資料表單」(Forms Over Data) 應用程式,其中您不會處理大量資料或執行複雜的查詢或轉換。 資料集物件由 DataTable 和 DataRow 物件組成,其在邏輯上比 .NET 物件更類似於 SQL 資料庫物件。 對於以 SQL 資料來源為基礎的相對簡單應用程式,資料集可能仍是不錯的選擇。

不需要使用其中任何技術。 在某些情況下,特別是效能至關重要的情況下,您可以只使用 DataReader 物件從資料庫讀取資料,並將您需要的值複製到集合物件,例如 List<T>。

原生 C++

在大部分情況下,連線至 SQL Server 的 C++ 應用程式應該使用 Microsoft® ODBC Driver 13.1 for SQL Server。 如果已連結伺服器,則 OLE DB 是必要的,為此您可以使用 SQL Server Native Client。 您可以直接使用 ODBC 或 OLE DB 驅動程式來存取其他資料庫。 ODBC 是目前的標準資料庫介面,但大部分的資料庫系統都提供無法透過 ODBC 介面存取的自訂功能。 OLE DB 是仍受到支援的舊版 COM 資料存取技術,但不建議用於新的應用程式。 如需詳細資訊,請參閱 Visual C++ 中的資料存取

取用 REST 服務的 C++ 程式可以使用 C++ REST SDK

使用 Microsoft Azure 儲存體的 C++ 程式可以使用 Microsoft Azure 儲存體用戶端

資料模型化 - Visual Studio 不會提供 C++ 的 ORM 層。 ODB 是適用於 C++ 的熱門開放原始碼 ORM。

若要深入了解從 C++ 應用程式連線至資料庫,請參閱適用於 C++ 的 Visual Studio 資料工具。 如需舊版 Visual C++ 資料存取技術的詳細資訊,請參閱資料存取

JavaScript

Visual Studio 中的 JavaScript 是一流語言,用於建置跨平台應用程式、UWP 應用程式、雲端服務、網站和 Web 應用程式。 您可以從 Visual Studio 內使用 Bower、Grunt、Gulp、npm 和 NuGet,來安裝您最愛的 JavaScript 程式庫和資料庫產品。 從 Azure 網站下載 SDK 以連線到 Azure 儲存體和服務。 Edge.js 是程式庫,其會將伺服器端 JavaScript (Node.js) 連線至 ADO.NET 資料來源。

Python

安裝 Visual Studio 中的 Python 支援以建立 Python 應用程式。 Azure 文件有數個關於連線至資料的教學課程,其中包括下列教學課程:

Microsoft AI 平台 - 提供 Microsoft 智慧型雲端的簡介,包括 Cortana 分析套件和支援物聯網。

Microsoft Azure 儲存體 - 描述 Azure 儲存體,以及如何使用 Azure Blob、資料表、佇列和檔案建立應用程式。

Azure SQL Database - 描述如何連線至 Azure SQL Database (關聯式資料庫即服務)。

SQL Server 資料工具 - 描述一些工具,這些工具可簡化資料連線應用程式和資料庫的設計、探索、測試及部署。

ADO.NET - 描述 ADO.NET 架構,以及如何使用 ADO.NET 類別來管理應用程式資料,並與資料來源和 XML 互動。

ADO.NET Entity Framework - 描述如何建立資料應用程式,讓開發人員可以針對概念模型進行程式設計,而不是直接針對關聯式資料庫進行程式設計。

WCF Data Services 4.5 - 描述如何使用 WCF Data Services,在 Web 或實作 Open Data Protocol (OData) 的內部網路上部署資料服務。

Office 解決方案中的資料 — 包含主題的連結,而這些主題說明資料在 Office 解決方案中的運作方式。 這包括結構描述導向程式設計、資料快取和伺服器端資料存取的相關資訊。

LINQ (Language-Integrated Query) - 描述 C# 和 Visual Basic 內建的查詢功能,以及用於查詢關聯式資料庫、XML 文件、資料集和記憶體中集錦的一般模型。

Visual Studio 中的 XML 工具 - 討論使用 XML 資料、偵錯 XSLT、.NET XML 功能,以及 XML 查詢架構。

XML 文件和資料 - 提供全面性整合式類別集的概觀,這些類別會使用 XML 文件和 .NET 中的資料。