EntityConnection.ConnectionString Eigenschaft

Definition

Ruft die EntityConnection-Verbindungszeichenfolge ab oder legt diese fest.

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

Eigenschaftswert

Die Verbindungszeichenfolge, die zum Herstellen der ersten Verbindung mit der Datenquelle erforderlich ist. Der Standardwert ist eine leere Zeichenfolge. Bei einer geschlossenen Verbindung wird der aktuell festgelegte Wert zurückgegeben. Wenn kein Wert festgelegt wurde, wird eine leere Zeichenfolge zurückgegeben.

Ausnahmen

Es wurde der Versuch unternommen, die ConnectionString-Eigenschaft festzulegen, nachdem der MetadataWorkspace von EntityConnection initialisiert wurde. Das MetadataWorkspace-Element wird initialisiert, wenn die EntityConnection-Instanz durch die Überladung erstellt wird, die einen MetadataWorkspace als Parameter annimmt, oder wenn die EntityConnection-Instanz geöffnet wurde.

Es wurde ein ungültiges Schlüsselwort für eine Verbindungszeichenfolge bereitgestellt, oder ein erforderliches Schlüsselwort für eine Verbindungszeichenfolge wurde nicht bereitgestellt.

Beispiele

Im folgenden Beispiel wird die Verwendung von EntityConnectionStringBuilder in Verbindung mit einem SqlConnectionStringBuilder veranschaulicht. Der Code legt eigenschaften eines SqlConnectionStringBuilder fest, um eine Zeichenfolge zu erstellen, die einen SqlConnection Teil des zugrunde liegenden Anbieters Verbindungszeichenfolge bereitstellt. Beachten Sie, dass der Provider Name nicht mithilfe SqlConnectionStringBuildervon festgelegt werden kann, da er keine gültige SqlConnection Syntax verwendet. Der Code erstellt die EntityConnection Zeichenfolge durch Festlegen EntityConnectionStringBuilder von Eigenschaften.


// 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

Hinweise

Ein EntityClient Verbindungszeichenfolge besteht aus einer Sequenz von Schlüsselwort (keyword)-Wert-Parameterpaaren, die durch Semikolons getrennt sind. Das Gleichheitszeichen (=) verbindet jeden Schlüsselwort (keyword) und seinen Wert. Die folgende Tabelle enthält die gültigen Namen für Schlüsselwortwerte im ConnectionString.

Schlüsselwort Beschreibung
Provider Erforderlich, wenn das Schlüsselwort Name nicht angegeben ist. Der Anbietername, mit dem das DbProviderFactory-Objekt für den zugrunde liegenden Anbieter abgerufen wird. Dieser Wert ist konstant.

Wenn die Name Schlüsselwort (keyword) nicht im Verbindungszeichenfolge enthalten ist, ist ein nicht leerer Wert für die Provider Schlüsselwort (keyword) erforderlich. Dieses Schlüsselwort und das Schlüsselwort Name schließen sich gegenseitig aus.
Provider Connection String Dies ist optional. Gibt die anbieterspezifische Verbindungszeichenfolge an, die an die zugrunde liegende Datenquelle übergeben wird. Diese Verbindungszeichenfolge wird mithilfe gültiger Schlüsselwort-Wert-Paare für den Datenanbieter ausgedrückt. Eine ungültige Provider Connection String löst bei der Auswertung durch die Datenquelle einen Laufzeitfehler aus.

Dieses Schlüsselwort und das Schlüsselwort Name schließen sich gegenseitig aus.

Der Wert der Provider Connection String muss durch Anführungszeichen eingeschlossen sein. Es folgt ein Beispiel:

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

Das folgende Beispiel ist nicht funktionsfähig:

Provider Connection String =Server=serverName; User ID = userID
Metadata Erforderlich, wenn das Schlüsselwort Name nicht angegeben ist. Eine durch Pipe getrennte Liste von Verzeichnissen, Dateien und Ressourcenspeicherorten, in denen nach Modell- und Zuordnungsinformationen gesucht werden soll. Es folgt ein Beispiel:

Metadata=

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

Leerzeichen zu beiden Seiten des senkrechten Strichs werden ignoriert.

Dieses Schlüsselwort und das Schlüsselwort Name schließen sich gegenseitig aus.
Name Der Verbindungsname kann von der Anwendung optional in einer Anwendungskonfigurationsdatei angegeben werden, die die erforderlichen Verbindungszeichenfolgen-Werte mit den Schlüsselwort-Wert-Paaren enthält. In diesem Fall können diese nicht direkt in der Verbindungszeichenfolge bereitgestellt werden. Das Schlüsselwort Name ist in einer Konfigurationsdatei nicht zulässig.

Wenn das Schlüsselwort Name in der Verbindungszeichenfolge nicht eingefügt wurde, ist für das Provider-Schlüsselwort ein nicht leerer Wert erforderlich.

Dieses Schlüsselwort und alle anderen Schlüsselwörter für Verbindungszeichenfolgen schließen sich gegenseitig aus.

Die Anwendung kann die Schlüsselwort (keyword)/Werte direkt in der ConnectionString -Eigenschaft angeben oder einen Wert für die Name Schlüsselwort (keyword) angeben. Wenn die Name Schlüsselwort (keyword) angegeben wird, werden die Verbindungszeichenfolge Schlüsselwort (keyword)/Werte wie folgt aus einer Anwendungskonfigurationsdatei abgerufen:

Name=AdventureWorksEntities;

Wenn die Name Schlüsselwort (keyword) in der ConnectionString -Eigenschaft verwendet wird, sind andere Schlüsselwörter nicht zulässig. Die Name Schlüsselwort (keyword) bezieht sich auf eine benannte Verbindungszeichenfolge, die connectionStrings im Abschnitt in einer Anwendungskonfigurationsdatei gespeichert ist, wie im folgenden Beispiel gezeigt. Die ProviderWerte , Metadataund Provider Connection String werden zur Laufzeit aus der Konfigurationsdatei abgerufen.

Die Schlüsselwort-Wert-Paare können auch direkt in der ConnectionString-Eigenschaft bereitgestellt werden, wie im folgenden Beispiel dargestellt. In diesem Fall wird die Name Schlüsselwort (keyword) nicht verwendet.

"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' "

Um zu vermeiden, dass Objekte wie System.Data.Common.CommandTrees und ObjectContext nicht versehentlich mit ihren Metadaten synchronisiert werden, EntityConnection müssen die Metadaten gesperrt werden. Nach dem Sperren der Metadaten sind keine Änderungen am Verbindungszeichenfolge zulässig. Im Folgenden sind zwei Szenarien aufgeführt, in denen Metadaten gesperrt sind:

Beim Laden von Metadaten wird überprüft, EntityConnection ob das konzeptionelle Modell, das Speichermodell und die Zuordnungsdatei vorhanden sind.

Gilt für:

Weitere Informationen