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