共用方式為


取得 SqlClientFactory

適用於:.NET Framework .NET .NET Standard

下載 ADO.NET

取得 DbProviderFactory 的程序包含傳遞資料提供者的相關資訊給 DbProviderFactories 類別。 根據這項資訊,GetFactory 方法會建立強型別 (Strongly Typed) 提供者 Factory。 例如,若要建立 SqlClientFactory,您可以將具有指定為 "Microsoft.Data.SqlClient" 之提供者名稱的字串傳遞給 GetFactory

GetFactory 的其他多載會接受 DataRow。 一旦您建立了提供者 Factory,之後就可以使用其方法來建立其他物件。 SqlClientFactory 的某些方法包括 CreateConnectionCreateCommandCreateDataAdapter

註冊 SqlClientFactory

若要透過 .NET Framework 中的 DbProviderFactories 類別來擷取 SqlClientFactory 物件,必須在 App.configweb.config 檔案中註冊該物件。 下列組態檔片段會顯示 Microsoft.Data.SqlClient 的語法和格式。

<system.data>
  <DbProviderFactories>
    <add name="Microsoft SqlClient Data Provider"
      invariant="Microsoft.Data.SqlClient"
      description="Microsoft SqlClient Data Provider for SQL Server"
      type="Microsoft.Data.SqlClient.SqlClientFactory, Microsoft.Data.SqlClient, Version=2.0.20168.4, Culture=neutral, PublicKeyToken=23ec7fc2d6eaa4a5"/>
  </DbProviderFactories>
</system.data>  

invariant 屬性可識別底層資料提供者。 這個三部分命名語法也會用於建立新的 Factory 以及在應用程式組態檔中識別提供者,如此您就可以在執行階段擷取提供者名稱及其相關聯的連接字串。

注意

在 .NET Core 中,由於沒有 GAC 或全域設定支援,因此應該透過在專案中呼叫 RegisterFactory 方法來註冊 SqlClientFactory 物件。

下列範例示範如何在 .NET Core 應用程式中使用 SqlClientFactory

private static DbProviderFactory GetFactory()
{
    // register SqlClientFactory in provider factories
    DbProviderFactories.RegisterFactory("Microsoft.Data.SqlClient", SqlClientFactory.Instance);

    return DbProviderFactories.GetFactory("Microsoft.Data.SqlClient");
}

請參閱