使用英语阅读

通过


DbConnectionStringBuilder.EquivalentTo(DbConnectionStringBuilder) 方法

定义

将此 DbConnectionStringBuilder 对象中的连接信息与提供的对象中的连接信息进行比较。

public virtual bool EquivalentTo (System.Data.Common.DbConnectionStringBuilder connectionStringBuilder);

参数

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();
}

此示例显示以下输出:

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 。 两个连接字符串的连接行为是等效的,因为顺序在连接字符串中永远不会重要。 但是,不同的顺序可能会影响基于这些连接字符串的连接的连接池行为。

适用于

产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

另请参阅