共用方式為


Factory 模型概觀 (ADO.NET)

ADO.NET 2.0 在 System.Data.Common 命名空間 (Namespace) 中導入了新的基底類別 (Base Class)。 這些基底類別是抽象類別,表示它們無法直接具現化 (Instantiated)。 它們包括 DbConnectionDbCommandDbDataAdapter,而且可由 .NET Framework 資料提供者 (例如 System.Data.SqlClientSystem.Data.OleDb) 共用。 加入基底類別可簡化針對 .NET Framework 資料提供者加入功能的程序,而且不需要建立新的介面。

ADO.NET 2.0 也導入了抽象基底類別,可讓開發人員撰寫不需仰賴特定資料提供者的泛型資料存取程式碼。

Factory 設計模式

撰寫獨立於提供者以外之程式碼的程式設計模型是以 "Factory" 設計模式為基礎,而這種設計模式會使用單一 API 來存取多個提供者之間的資料庫。 要適當命名此模式,因為它會要求僅用特定的物件來建立其他物件,與實際的 Factory 非常相似。 如需 Factory 設計模式的詳細資訊,請參閱 MSDN 上的<在 ASP.NET 2.0 和 ADO.NET 2.0 中撰寫泛型資料存取程式碼>和<使用 ADO.NET 2.0 基底類別和 Factory 進行泛型編碼>https://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/vsgenerics.asp (英文)。

從 ADO.NET 2.0 開始,DbProviderFactories 類別會提供 static (或 Visual Basic 中的 Shared) 方法來建立 DbProviderFactory 執行個體。 然後,此執行個體會根據提供者資訊以及在執行階段提供的連接字串,傳回正確的強型別物件。

請參閱

概念

取得 DbProviderFactory (ADO.NET)

DbConnection、DbCommand 和 DbException (ADO.NET)

使用 DbDataAdapter 來修改資料 (ADO.NET)