DbConnectionStringBuilder.EquivalentTo(DbConnectionStringBuilder) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Compares the connection information in this DbConnectionStringBuilder object with the connection information in the supplied object.
public:
virtual bool EquivalentTo(System::Data::Common::DbConnectionStringBuilder ^ connectionStringBuilder);
public virtual bool EquivalentTo (System.Data.Common.DbConnectionStringBuilder connectionStringBuilder);
abstract member EquivalentTo : System.Data.Common.DbConnectionStringBuilder -> bool
override this.EquivalentTo : System.Data.Common.DbConnectionStringBuilder -> bool
Public Overridable Function EquivalentTo (connectionStringBuilder As DbConnectionStringBuilder) As Boolean
Parameters
- connectionStringBuilder
- DbConnectionStringBuilder
The DbConnectionStringBuilder to be compared with this DbConnectionStringBuilder object.
Returns
true
if the connection information in both of the DbConnectionStringBuilder objects causes an equivalent connection string; otherwise false
.
Examples
static void Main()
{
DbConnectionStringBuilder builder1 =
new DbConnectionStringBuilder();
builder1.ConnectionString =
"Value1=SomeValue;Value2=20;Value3=30;Value4=40";
Console.WriteLine("builder1 = " + builder1.ConnectionString);
DbConnectionStringBuilder builder2 =
new DbConnectionStringBuilder();
builder2.ConnectionString =
"value2=20;value3=30;VALUE4=40;Value1=SomeValue";
Console.WriteLine("builder2 = " + builder2.ConnectionString);
DbConnectionStringBuilder builder3 =
new DbConnectionStringBuilder();
builder3.ConnectionString =
"value2=20;value3=30;VALUE4=40;Value1=SOMEVALUE";
Console.WriteLine("builder3 = " + builder3.ConnectionString);
// builder1 and builder2 contain the same
// keys and values, in different order, and the
// keys are not consistently cased. They are equivalent.
Console.WriteLine("builder1.EquivalentTo(builder2) = " +
builder1.EquivalentTo(builder2).ToString());
// builder2 and builder3 contain the same key/value pairs in the
// the same order, but the value casing is different, so they're
// not equivalent.
Console.WriteLine("builder2.EquivalentTo(builder3) = " +
builder2.EquivalentTo(builder3).ToString());
Console.WriteLine("Press Enter to continue.");
Console.ReadLine();
}
Sub Main()
Dim builder1 As New DbConnectionStringBuilder
builder1.ConnectionString = _
"Value1=SomeValue;Value2=20;Value3=30;Value4=40"
Console.WriteLine("builder1 = " & builder1.ConnectionString)
Dim builder2 As New DbConnectionStringBuilder
builder2.ConnectionString = _
"value2=20;value3=30;VALUE4=40;Value1=SomeValue"
Console.WriteLine("builder2 = " & builder2.ConnectionString)
Dim builder3 As New DbConnectionStringBuilder
builder3.ConnectionString = _
"value2=20;value3=30;VALUE4=40;Value1=SOMEVALUE"
Console.WriteLine("builder3 = " & builder3.ConnectionString)
' builder1 and builder2 contain the same
' keys and values, in different order, and the
' keys are not consistently cased. They are equivalent.
Console.WriteLine("builder1.EquivalentTo(builder2) = " & _
builder1.EquivalentTo(builder2).ToString())
' builder2 and builder3 contain the same key/value pairs in the
' the same order, but the value casing is different, so they're
' not equivalent.
Console.WriteLine("builder2.EquivalentTo(builder3) = " & _
builder2.EquivalentTo(builder3).ToString())
Console.WriteLine("Press Enter to continue.")
Console.ReadLine()
End Sub
This sample displays the following output:
builder1 = value1=SomeValue;value2=20;value3=30;value4=40
builder2 = value2=20;value3=30;value4=40;value1=SomeValue
builder3 = value2=20;value3=30;value4=40;value1=SOMEVALUE
builder1.EquivalentTo(builder2) = True
builder2.EquivalentTo(builder3) = False
Remarks
Comparisons on key names are case insensitive; value comparisons are case sensitive.
The EquivalentTo method returns true
if the key/value pairs are equal, regardless of their order. The connection behavior of the two connection strings are equivalent, because order is never significant within connection strings. However, different order may affect connection pooling behavior of connections based on these connection strings.