DbConnectionStringBuilder.EquivalentTo(DbConnectionStringBuilder) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将此 DbConnectionStringBuilder 对象中的连接信息与提供的对象中的连接信息进行比较。
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
参数
- connectionStringBuilder
- DbConnectionStringBuilder
要与此 DbConnectionStringBuilder 对象进行比较的 DbConnectionStringBuilder。
返回
如果两个 DbConnectionStringBuilder 对象中的连接信息生成等效的连接字符串,则为 true
;否则为 false
。
示例
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
此示例显示以下输出:
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
注解
对键名称的比较不区分大小写;值比较区分大小写。
EquivalentTo如果键/值对相等,则无论其顺序如何,方法都会返回 true
。 两个连接字符串的连接行为是等效的,因为顺序在连接字符串中永远不会重要。 但是,不同的顺序可能会影响基于这些连接字符串的连接的连接池行为。