Sdílet prostřednictvím


EntityConnection.ConnectionString Vlastnost

Definice

Získá nebo nastaví EntityConnection připojovací řetězec.

public:
 virtual property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
public override string ConnectionString { get; set; }
member this.ConnectionString : string with get, set
Public Overrides Property ConnectionString As String

Hodnota vlastnosti

Připojovací řetězec potřebný k navázání počátečního připojení ke zdroji dat. Výchozí hodnota je prázdný řetězec. U uzavřeného připojení se vrátí aktuálně nastavená hodnota. Pokud nebyla nastavena žádná hodnota, vrátí se prázdný řetězec.

Výjimky

Došlo k pokusu ConnectionString o nastavení vlastnosti po inicializaci objektu EntityConnection's MetadataWorkspace . Inicializuje MetadataWorkspace se buď při EntityConnection vytvoření instance prostřednictvím přetížení, který přebírá MetadataWorkspace jako parametr, nebo při EntityConnection otevření instance.

Bylo zadáno neplatné klíčové slovo připojovacího řetězce nebo nebyl zadán požadovaný klíčové slovo připojovacího řetězce.

Příklady

Následující příklad ukazuje, jak použít EntityConnectionStringBuilder ve spojení s .SqlConnectionStringBuilder Kód nastaví vlastnosti pro SqlConnectionStringBuilder vytvoření SqlConnection řetězce, který poskytuje část připojovacího řetězce podkladového zprostředkovatele. Všimněte si, že Provider název nelze nastavit pomocí parametru , protože nepoužívá platnou SqlConnectionStringBuilderSqlConnection syntaxi. Kód vytvoří EntityConnection řetězec nastavením EntityConnectionStringBuilder vlastností.


// Specify the provider name, server and database.
string providerName = "System.Data.SqlClient";
string serverName = ".";
string databaseName = "AdventureWorks";

// Initialize the connection string builder for the
// underlying provider.
SqlConnectionStringBuilder sqlBuilder =
    new SqlConnectionStringBuilder();

// Set the properties for the data source.
sqlBuilder.DataSource = serverName;
sqlBuilder.InitialCatalog = databaseName;
sqlBuilder.IntegratedSecurity = true;

// Build the SqlConnection connection string.
string providerString = sqlBuilder.ToString();

// Initialize the EntityConnectionStringBuilder.
EntityConnectionStringBuilder entityBuilder =
    new EntityConnectionStringBuilder();

//Set the provider name.
entityBuilder.Provider = providerName;

// Set the provider-specific connection string.
entityBuilder.ProviderConnectionString = providerString;

// Set the Metadata location.
entityBuilder.Metadata = @"res://*/AdventureWorksModel.csdl|
                            res://*/AdventureWorksModel.ssdl|
                            res://*/AdventureWorksModel.msl";
Console.WriteLine(entityBuilder.ToString());

using (EntityConnection conn =
    new EntityConnection(entityBuilder.ToString()))
{
    conn.Open();
    Console.WriteLine("Just testing the connection.");
    conn.Close();
}
' Specify the provider name, server and database.
Dim providerName As String = "System.Data.SqlClient"
Dim serverName As String = "."
Dim databaseName As String = "AdventureWorks"

' Initialize the connection string builder for the
' underlying provider.
Dim sqlBuilder As New SqlConnectionStringBuilder

' Set the properties for the data source.
sqlBuilder.DataSource = serverName
sqlBuilder.InitialCatalog = databaseName
sqlBuilder.IntegratedSecurity = True

' Build the SqlConnection connection string.
Dim providerString As String = sqlBuilder.ToString

' Initialize the EntityConnectionStringBuilder.
Dim entityBuilder As New EntityConnectionStringBuilder

'Set the provider name.
entityBuilder.Provider = providerName
' Set the provider-specific connection string.
entityBuilder.ProviderConnectionString = providerString
' Set the Metadata location to the current directory.
entityBuilder.Metadata = "res://*/AdventureWorksModel.csdl|" & _
                            "res://*/AdventureWorksModel.ssdl|" & _
                            "res://*/AdventureWorksModel.msl"

Console.WriteLine(entityBuilder.ToString)

Using conn As EntityConnection = New EntityConnection(entityBuilder.ToString)
    conn.Open()
    Console.WriteLine("Just testing the connection.")
    conn.Close()
End Using

Poznámky

EntityClient Připojovací řetězec se skládá z posloupnosti párů parametrů klíčového slova a hodnoty oddělené středníky. Symbol rovná se (=) spojuje každé klíčové slovo a jeho hodnotu. Následující tabulka uvádí platné názvy hodnot klíčových slov v tabulce ConnectionString.

Klíčové slovo Description
Provider Vyžaduje se, pokud klíčové slovo Name není zadáno. Název zprostředkovatele, který slouží k načtení objektu DbProviderFactory pro podkladového zprostředkovatele. Tato hodnota je konstantní.

Name Pokud není klíčové slovo součástí připojovacího řetězce, je vyžadována neprázdná hodnota pro Provider klíčové slovo. Toto klíčové slovo se vzájemně vylučuje s klíčovým slovem Name.
Provider Connection String Optional. Určuje připojovací řetězec konkrétního poskytovatele, který se předává podkladovému zdroji dat. Tento připojovací řetězec se vyjadřuje pomocí platných dvojic klíčových slov a hodnot pro zprostředkovatele dat. Neplatná Provider Connection String chyba způsobí chybu za běhu při vyhodnocování zdrojem dat.

Toto klíčové slovo se vzájemně vylučuje s klíčovým slovem Name.

Hodnota Provider Connection String musí být obklopena uvozovkami. Následuje příklad:

Provider Connection String ="Server=serverName; User ID = userID";

Následující příklad nebude fungovat:

Provider Connection String =Server=serverName; User ID = userID
Metadata Vyžaduje se, pokud klíčové slovo Name není zadáno. Seznam adresářů, souborů a umístění prostředků s oddělovači, ve kterých se mají hledat informace o modelu a mapování. Následuje příklad:

Metadata=

c:\model | c:\model\sql\mapping.msl;

Prázdné mezery na každé straně oddělovače potrubí jsou ignorovány.

Toto klíčové slovo se vzájemně vylučuje s klíčovým slovem Name.
Name Aplikace může volitelně zadat název připojení v konfiguračním souboru aplikace, který poskytuje potřebné hodnoty připojovacího řetězce ve formátu klíč/hodnota. V takovém případě je nemůžete zadat přímo do připojovacího řetězce. Klíčové Name slovo není v konfiguračním souboru povolené.

Name Pokud není klíčové slovo součástí připojovacího řetězce, je vyžadována neprázdná hodnota pro klíčové slovo Provider.

Toto klíčové slovo se vzájemně vylučuje se všemi ostatními klíčovými slovy připojovacích řetězců.

Aplikace může zadat klíčové slovo/hodnoty přímo ve ConnectionString vlastnosti nebo může zadat hodnotu pro Name klíčové slovo. Name Pokud je klíčové slovo zadané, z konfiguračního souboru aplikace se načte klíčové slovo nebo hodnoty připojovacího řetězce následujícím způsobem:

Name=AdventureWorksEntities;

Pokud je klíčové Name slovo použito ve ConnectionString vlastnosti, ostatní klíčová slova nejsou povolena. Klíčové Name slovo odkazuje na pojmenovaný připojovací řetězec uložený v oddílu connectionStrings v konfiguračním souboru aplikace, jak je znázorněno v následujícím příkladu. Hodnoty Providera Provider Connection String hodnoty Metadatase načítají z konfiguračního souboru za běhu.

Páry klíčového slova a hodnoty lze také zadat přímo ve ConnectionString vlastnosti, jak je znázorněno v následujícím příkladu. V tomto případě Name se klíčové slovo nepoužívá.

"Provider=System.Data.SqlClient;
Metadata=c:\metadata|c:\Metadata\Sql;
Provider Connection String= 'Data Source=localhost;
    Initial Catalog=AdventureWorks;Integrated Security=True;Connection Timeout=60' "

Aby nedocházelo k neúmyslnému vkládání objektů, jako System.Data.Common.CommandTrees jsou a ObjectContext které se nesynchronizují s metadaty, EntityConnection musí svá metadata uzamknout. Po uzamčení metadat nejsou povoleny žádné změny připojovacího řetězce. Následují dva scénáře, ve kterých jsou metadata uzamčena:

Při načtení metadat ověří, EntityConnection že se nachází koncepční model, model úložiště a soubor mapování.

Platí pro

Viz také