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