SqlClientFactory.CanCreateDataSourceEnumerator Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém um valor que indica se um SqlDataSourceEnumerator pode ser criado.
public:
virtual property bool CanCreateDataSourceEnumerator { bool get(); };
public override bool CanCreateDataSourceEnumerator { get; }
member this.CanCreateDataSourceEnumerator : bool
Public Overrides ReadOnly Property CanCreateDataSourceEnumerator As Boolean
Valor da propriedade
true
se um SqlDataSourceEnumerator puder ser criado; caso contrário,false
.
Exemplos
O exemplo a seguir exibe uma lista de todas as fontes de dados SQL Server disponíveis, usando código que pode enumerar fontes de dados para qualquer provedor.
using System;
using System.Data;
using System.Data.Common;
using Microsoft.Data.SqlClient;
class Program
{
static void Main()
{
// List all SQL Server instances:
ListServers(SqlClientFactory.Instance);
Console.WriteLine();
Console.WriteLine("Press any key to continue...");
Console.ReadKey();
}
private static void ListServers(DbProviderFactory factory)
{
// This procedure is provider-agnostic, and can list
// instances of any provider's servers. Of course,
// not all providers can create a data source enumerator,
// so it's best to check the CanCreateDataSourceEnumerator
// property before attempting to list the data sources.
if (factory.CanCreateDataSourceEnumerator)
{
DbDataSourceEnumerator instance =
factory.CreateDataSourceEnumerator();
DataTable table = instance.GetDataSources();
foreach (DataRow row in table.Rows)
{
Console.WriteLine("{0}\\{1}",
row["ServerName"], row["InstanceName"]);
}
}
}
}
Comentários
A DbProviderFactory classe fornece a CanCreateDataSourceEnumerator propriedade para que os herdadores possam indicar se podem fornecer um enumerador de fonte de dados. O SqlClientFactory exibe essa propriedade, mas seu valor é sempre true
.