EquivalentTo
Метод сравнивает две строки подключения.
При сравнении имен ключей регистр не учитывается; сравнение значений осуществляется с учетом регистра.
При сравнении строк подключения порядок пар «ключ/значение» не учитывается, однако различный порядок может оказывать влияние на пул подключений, основанный на этих строках подключения.
Примечание
В текущей версии ADO.NET-провайдера СУБД ЛИНТЕР пул подключений не поддерживается.
Синтаксис
public virtual bool EquivalentTo(DbConnectionStringBuilder connectionStringBuilder);
connectionStringBuilder – строка подключения, которая сравнивается с текущей строкой подключения объекта DbConnectionStringBuilder.
Возвращаемое значение
Значение true, если пары «ключ/значение» являются одинаковыми, независимо от их порядка, false – в противном случае.
Исключения
Отсутствуют.
Пример
// C#
using System;
using System.Data;
using System.Data.Common;
class ConnectionStringBuilderSample
{
static void Main()
{
// Создание фабрики классов провайдера
DbProviderFactory factory =
DbProviderFactories.GetFactory("System.Data.LinterClient");
DbConnectionStringBuilder builder1 =
factory.CreateConnectionStringBuilder();
builder1.ConnectionString =
"Data Source=LOCAL;User ID=SYSTEM;Password=MANAGER8";
Console.WriteLine("builder1 = " + builder1.ConnectionString);
DbConnectionStringBuilder builder2 =
factory.CreateConnectionStringBuilder();
builder2.ConnectionString =
"User ID=SYSTEM;PASSWORD=MANAGER8;Data Source=LOCAL";
Console.WriteLine("builder2 = " + builder2.ConnectionString);
DbConnectionStringBuilder builder3 =
factory.CreateConnectionStringBuilder();
builder3.ConnectionString =
"User ID=SYSTEM;PASSWORD=MANAGER8;Data Source=SERV1";
Console.WriteLine("builder3 = " + builder3.ConnectionString);
// Объекты builder1 и builder2 содержат одинаковые пары ключ/значение,
// но установлены в разном порядке и в разном регистре ключей.
// Строки подключения равнозначны
Console.WriteLine("builder1.EquivalentTo(builder2) = " +
builder1.EquivalentTo(builder2).ToString());
// Объекты builder2 и builder3 содержат пары ключ/значение,
// установленные в совпадающем порядке, но значения ключей отличаются,
// поэтому строки подключения не равнозначны
Console.WriteLine("builder2.EquivalentTo(builder3) = " +
builder2.EquivalentTo(builder3).ToString());
Console.WriteLine();
Console.WriteLine("Нажмите клавишу Ввод для завершения");
Console.ReadLine();
}
}
Результат выполнения примера:
builder1 = DataSource=LOCAL;UserID=SYSTEM;Password=MANAGER8
builder2 = DataSource=LOCAL;UserID=SYSTEM;Password=MANAGER8
builder3 = DataSource=SERV1;UserID=SYSTEM;Password=MANAGER8
builder1.EquivalentTo(builder2) = True
builder2.EquivalentTo(builder3) = False