Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a: .NET Framework
.NET
.NET Standard
O processo de obtenção de um DbProviderFactory envolve a passagem de informações sobre um provedor de dados para a DbProviderFactories classe. Com base nessas informações, o GetFactory método cria uma fábrica de provedor fortemente tipada. Por exemplo, para criar um SqlClientFactory, pode passar GetFactory uma string com o nome do fornecedor especificado como "Microsoft.Data.SqlClient".
A outra sobrecarga de GetFactory leva um DataRow. Depois de criar a fábrica do provedor, você pode usar seus métodos para criar objetos adicionais. Alguns dos métodos de um SqlClientFactory incluem CreateConnection, CreateCommand, e CreateDataAdapter.
Registar SqlClientFactory
Para recuperar o SqlClientFactory objeto pela DbProviderFactories classe no .NET Framework, é necessário registá-lo num ficheiroApp.config ou web.config . O fragmento do arquivo de configuração a seguir mostra a sintaxe e o formato do 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>
O atributo invariante identifica o fornecedor de dados subjacente. Essa sintaxe de nomenclatura de três partes também é usada ao criar uma nova fábrica e para identificar o provedor em um arquivo de configuração de aplicativo para que o nome do provedor, juntamente com sua cadeia de conexão associada, possa ser recuperado em tempo de execução.
Observação
No .NET core, como não existe suporte para GAC ou configuração global, o SqlClientFactory objeto deve ser registado chamando RegisterFactory o método no projeto.
O exemplo seguinte mostra como usar o SqlClientFactory numa aplicação .NET core.
private static DbProviderFactory GetFactory()
{
// register SqlClientFactory in provider factories
DbProviderFactories.RegisterFactory("Microsoft.Data.SqlClient", SqlClientFactory.Instance);
return DbProviderFactories.GetFactory("Microsoft.Data.SqlClient");
}