Partager via


EntityConnection.ConnectionString Propriété

Définition

Obtient ou définit la chaîne de connexion EntityConnection.

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

Valeur de propriété

Chaîne de connexion requise pour établir la connexion initiale à une source de données. La valeur par défaut est une chaîne vide. Sur une connexion fermée, c'est la valeur actuellement définie qui est retournée. Si aucune valeur n'a été définie, une chaîne vide est retournée.

Exceptions

Une tentative de définition de la propriété ConnectionString a été effectuée après l’initialisation du MetadataWorkspace de EntityConnection. MetadataWorkspace est initialisé soit lors de la construction de l'instance EntityConnection par l'intermédiaire de la surcharge qui accepte MetadataWorkspace comme paramètre, soit lors l'ouverture de l'instance EntityConnection.

Un mot clé de chaîne de connexion non valide a été fourni ou un mot clé de chaîne de connexion obligatoire n'a pas été fourni.

Exemples

L'exemple ci-dessous montre comment utiliser l'objet EntityConnectionStringBuilder avec un objet SqlConnectionStringBuilder. Le code définit les propriétés d’un SqlConnectionStringBuilder pour créer une SqlConnection chaîne qui fournit une partie du fournisseur sous-jacent chaîne de connexion. Notez que le Provider nom ne peut pas être défini à l’aide de SqlConnectionStringBuilder, car il n’utilise pas de syntaxe valide SqlConnection . Le code crée la EntityConnection chaîne en définissant des EntityConnectionStringBuilder propriétés.


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

Remarques

Un EntityClient chaîne de connexion se compose d’une séquence de paires de paramètres mot clé/valeur séparées par des points-virgules. Le signe égal (=) sert de lien entre chaque mot clé et sa valeur. Le tableau suivant répertorie les noms valides pour les valeurs de mots clés dans la propriété ConnectionString.

Mot clé Description
Provider Obligatoire si le mot clé Name n'est pas spécifié. Nom du fournisseur, utilisé pour récupérer l'objet DbProviderFactory du fournisseur sous-jacent. Cette valeur est constante.

Lorsque le Name mot clé n’est pas inclus dans le chaîne de connexion, une valeur non vide pour le Provider mot clé est requise. Ce mot clé et le mot clé Name s'excluent mutuellement.
Provider Connection String Optionnel. Spécifie la chaîne de connexion spécifique au fournisseur passée à la source de données sous-jacente. Cette chaîne de connexion est exprimée à l'aide de paires mot clé/valeur valides pour le fournisseur de données. Un mot clé Provider Connection String non valide provoque une erreur d'exécution lors de son évaluation par la source de données.

Ce mot clé et le mot clé Name s'excluent mutuellement.

La valeur du mot clé Provider Connection String doit être placée entre guillemets. Par exemple :

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

L'exemple suivant est incorrect :

Provider Connection String =Server=serverName; User ID = userID
Metadata Obligatoire si le mot clé Name n'est pas spécifié. Liste délimitée par un canal de répertoires, de fichiers et d’emplacements de ressources dans lesquels rechercher des informations de modèle et de mappage. Par exemple :

Metadata=

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

Les espaces situés de part et d'autre de la barre verticale sont ignorés.

Ce mot clé et le mot clé Name s'excluent mutuellement.
Name L'application peut éventuellement spécifier le nom de la connexion dans un fichier de configuration d'application qui fournit les valeurs de chaîne de connexion mot clé/valeur requises. Dans ce cas, vous ne pouvez pas les fournir directement dans la chaîne de connexion. Le mot clé Name n'est pas autorisé dans un fichier de configuration.

Lorsque le mot clé Name n'est pas inclus dans la chaîne de connexion, des valeurs non vides pour le mot clé Provider sont requises.

Ce mot clé est incompatible avec tous les autres mots clés de chaîne de connexion, et inversement.

L’application peut fournir les mot clé/valeurs directement dans la ConnectionString propriété, ou elle peut spécifier une valeur pour le Name mot clé. Si le Name mot clé est spécifié, les chaîne de connexion mot clé/valeurs sont récupérées à partir d’un fichier de configuration d’application, comme suit :

Name=AdventureWorksEntities;

Si le Name mot clé est utilisé dans la propriété, les ConnectionString autres mots clés ne sont pas autorisés. Le Name mot clé fait référence à un chaîne de connexion nommé stocké dans la connectionStrings section dans un fichier de configuration d’application, comme illustré dans l’exemple suivant. Les Providervaleurs , Metadataet Provider Connection String sont récupérées à partir du fichier de configuration au moment de l’exécution.

Les paires mot clé/valeur peuvent aussi être fournies directement dans la propriété ConnectionString, comme le montre l'exemple ci-dessous. Dans ce cas, le Name mot clé n’est pas utilisé.

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

Pour éviter la désynchronisation par inadvertance d’objets tels que System.Data.Common.CommandTrees et ObjectContext avec leurs métadonnées, EntityConnection doit verrouiller ses métadonnées. Le verrouillage des métadonnées interdit toute modification de la chaîne de connexion. Deux situations dans lesquelles les métadonnées sont verrouillées sont présentées ci-dessous :

Lors du chargement des métadonnées, EntityConnection vérifie que le modèle conceptuel, le modèle de stockage et le fichier de mappage sont tous présents.

S’applique à

Voir aussi