SqlClientFactory Alma

Şunlar için geçerlidir: .NET Framework .NET .NET Standard

ADO.NET indirin

Bir DbProviderFactory elde etme işlemi, bir veri sağlayıcısı hakkındaki bilgilerin DbProviderFactories sınıfına iletilmesini içerir. Bu bilgilere dayanarak, GetFactory yöntemi güçlü türü olan bir sağlayıcı fabrikası oluşturur. Örneğin, bir SqlClientFactory oluşturmak için "GetFactory" olarak belirtilen sağlayıcı adına sahip bir dizeyi geçirebilirsiniz.

GetFactory öğesinin diğer aşırı yüklemesi, bir DataRow alır. Sağlayıcı fabrikasını oluşturduktan sonra, ek nesneler oluşturmak için yöntemlerini kullanabilirsiniz. SqlClientFactory öğesinin bazı yöntemleri şunlardır: CreateConnection, CreateCommand ve CreateDataAdapter.

SqlClientFactory'i kaydetme

.NET Framework'te SqlClientFactory nesnesini DbProviderFactories sınıfı ile almak için, onu bir App.config veya web.config dosyasına kaydetmek gerekir. Aşağıdaki yapılandırma dosyası parçası için Microsoft.Data.SqlClientsöz dizimini ve biçimini gösterir.

<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>  

Sabit öznitelik, temel alınan veri sağlayıcısını tanımlar. Bu üç bölümlü adlandırma söz dizimi, yeni bir fabrika oluşturulurken ve sağlayıcının uygulama yapılandırma dosyasında tanımlanması için de kullanılır; böylece sağlayıcı adı, ilişkili bağlantı dizesi ile birlikte çalışma zamanında alınabilir.

Uyarı

.NET Core'da GAC veya genel yapılandırma desteği olmadığından, SqlClientFactory nesnesinin projede RegisterFactory yöntemi çağrılarak kaydedilmesi gerekir.

Aşağıdaki örnekte , bir .NET core uygulamasında nasıl kullanılacağı SqlClientFactory gösterilmektedir.

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

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