取得 SqlClientFactory
適用於:.NET Framework .NET .NET Standard
取得 DbProviderFactory 的程序包含傳遞資料提供者的相關資訊給 DbProviderFactories 類別。 根據這項資訊,GetFactory 方法會建立強型別 (Strongly Typed) 提供者 Factory。 例如,若要建立 SqlClientFactory,您可以將具有指定為 "Microsoft.Data.SqlClient" 之提供者名稱的字串傳遞給 GetFactory
。
GetFactory
的其他多載會接受 DataRow。 一旦您建立了提供者 Factory,之後就可以使用其方法來建立其他物件。 SqlClientFactory
的某些方法包括 CreateConnection、CreateCommand 和 CreateDataAdapter。
註冊 SqlClientFactory
若要透過 .NET Framework 中的 DbProviderFactories 類別來擷取 SqlClientFactory 物件,必須在 App.config 或 web.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");
}