EntityConnection.ConnectionString Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient ou définit la chaîne de EntityConnection connexion.
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, la valeur actuellement définie est retournée. Si aucune valeur n’a été définie, une chaîne vide est retournée.
Exceptions
Une tentative a été effectuée pour définir la ConnectionString propriété après l’initialisation de MetadataWorkspace la EntityConnectionpropriété. L’instance MetadataWorkspace est initialisée lorsque l’instance EntityConnection est construite par le biais de la surcharge qui prend un MetadataWorkspace paramètre ou lorsque l’instance EntityConnection a été ouverte.
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 suivant montre comment utiliser la EntityConnectionStringBuilder combinaison avec un SqlConnectionStringBuilder. Le code définit les propriétés d’une SqlConnectionStringBuilder chaîne pour créer une SqlConnection chaîne qui fournit une partie de la chaîne de connexion du fournisseur sous-jacente. Notez que le Provider nom ne peut pas être défini à l’aide du SqlConnectionStringBuildercode , 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
Une EntityClient chaîne de connexion se compose d’une séquence de paires de paramètres de mot clé/valeur séparées par des points-virgules. Le signe égal (=) connecte 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 la 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. Une erreur d’exécution non valide Provider Connection String est générée lorsqu’elle est évaluée par la source de données.Ce mot clé et le mot clé Name s'excluent mutuellement.La valeur de l’objet Provider Connection String doit être entourée de guillemets. Vous trouverez un exemple :Provider Connection String ="Server=serverName; User ID = userID";L’exemple suivant ne fonctionnera pas : 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. Vous trouverez un exemple :Metadata=c:\model | c:\model\sql\mapping.msl;Les espaces situés de part et d'autre du séparateur de tuyau 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 le 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é, le mot clé/les valeurs de chaîne de connexion sont récupérés à partir d’un fichier de configuration d’application, comme suit :
Name=AdventureWorksEntities;
Si le Name mot clé est utilisé dans la ConnectionString propriété, d’autres mots clés ne sont pas autorisés. Le Name mot clé fait référence à une chaîne de connexion nommée stockée dans la connectionStrings section dans un fichier de configuration d’application, comme illustré dans l’exemple suivant. Les Providervaleurs et Provider Connection String les valeurs Metadatasont récupérées à partir du fichier de configuration au moment de l’exécution.
Les paires mot clé/valeur peuvent également être fournies directement dans la ConnectionString propriété, comme illustré dans l’exemple suivant. 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 de placer par inadvertance des objets tels que System.Data.Common.CommandTrees et ObjectContext hors synchronisation avec leurs métadonnées, EntityConnection vous devez verrouiller ses métadonnées. Aucune modification de la chaîne de connexion n’est autorisée une fois les métadonnées verrouillées. Voici deux scénarios dans lesquels les métadonnées sont verrouillées :
L’instance EntityConnection est construite via le constructeur sans paramètre, ou via le EntityConnection(String) constructeur, qui accepte une chaîne de connexion. Dans les deux cas, la chaîne de connexion peut être modifiée plusieurs fois avant l’ouverture de la connexion. Appeler Open ou GetMetadataWorkspace verrouiller les métadonnées.
L’instance EntityConnection est construite par le biais du EntityConnection(MetadataWorkspace, DbConnection) constructeur, qui accepte un MetadataWorkspace et un DbConnection. Dans ce cas, les métadonnées sont verrouillées au moment de la construction. Aucune modification de la chaîne de connexion n’est jamais autorisée.
Lorsque les métadonnées sont chargées, le EntityConnection modèle conceptuel, le modèle de stockage et le fichier de mappage sont tous présents.