EntityConnection.ConnectionString Tulajdonság

Definíció

Lekéri vagy beállítja a EntityConnection kapcsolati karakterlánc.

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

Tulajdonság értéke

Az adatforráshoz való kezdeti kapcsolat létrehozásához szükséges kapcsolati karakterlánc. Az alapértelmezett érték egy üres sztring. Lezárt kapcsolat esetén a rendszer visszaadja az aktuálisan beállított értéket. Ha nincs beállítva érték, a rendszer üres sztringet ad vissza.

Kivételek

A tulajdonság beállítására az ConnectionString inicializálás EntityConnection után MetadataWorkspacekerült sor. Az MetadataWorkspace inicializálás akkor történik, ha a példány a EntityConnection paraméterként megadott MetadataWorkspace túlterhelésen, vagy a EntityConnection példány megnyitásakor jön létre.

Érvénytelen kapcsolati karakterlánc kulcsszó lett megadva, vagy nincs megadva egy kötelező kapcsolati karakterlánc kulcsszó.

Példák

Az alábbi példa bemutatja, hogyan használható a EntityConnectionStringBuilderSqlConnectionStringBuilder. A kód egy SqlConnectionStringBuilder tulajdonságait állítja be egy SqlConnection sztring létrehozásához, amely a mögöttes szolgáltató kapcsolati karakterlánc egy részét biztosítja. Vegye figyelembe, hogy a Provider név nem állítható be a SqlConnectionStringBuilderkövetkező használatával, mert nem használ érvényes SqlConnection szintaxist. A kód a tulajdonságok beállításával EntityConnection hozza létre a EntityConnectionStringBuilder sztringet.


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

Megjegyzések

A EntityClient kapcsolati karakterlánc kulcsszó-/értékparaméter-párok sorozatából áll, pontosvesszővel elválasztva. Az egyenlőségjel (=) összekapcsolja az egyes kulcsszavakat és azok értékét. Az alábbi táblázat a kulcsszóértékek érvényes nevét sorolja fel a ConnectionString.

Keyword Leírás
Provider Kötelező, ha a Name kulcsszó nincs megadva. A szolgáltató neve, amely a mögöttes szolgáltató objektumának DbProviderFactory lekérésére szolgál. Ez az érték állandó.

Ha a Name kulcsszó nem szerepel a kapcsolati karakterlánc, a Provider kulcsszó nem üres értéke szükséges. Ez a kulcsszó kölcsönösen kizáró kapcsolatban áll a Name kulcsszóval.
Provider Connection String Optional. Megadja a szolgáltató-specifikus kapcsolati karakterláncot, amit a mögöttes adatforrásnak átadnak. Ez a kapcsolati karakterlánc az adatszolgáltató érvényes kulcsszó-érték párjaival fejezi ki. Az érvénytelen Provider Connection String hiba futásidejű hibát fog okozni, ha az adatforrás kiértékeli.

Ez a kulcsszó kölcsönösen kizáró kapcsolatban áll a Name kulcsszóval.

A függvény Provider Connection String értékét idézőjelekkel kell körülvenni. A következő példa:

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

Az alábbi példa nem fog működni:

Provider Connection String =Server=serverName; User ID = userID
Metadata Kötelező, ha a Name kulcsszó nincs megadva. Azoknak a könyvtáraknak, fájloknak és erőforráshelyeknek a csővel tagolt listája, amelyekben modell- és leképezési információkat kell keresni. A következő példa:

Metadata=

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

A rendszer figyelmen kívül hagyja a csőelválasztó mindkét oldalán lévő üres szóközöket.

Ez a kulcsszó kölcsönösen kizáró kapcsolatban áll a Name kulcsszóval.
Name Az alkalmazás opcionálisan megadhatja a kapcsolat nevét egy olyan alkalmazáskonfigurációs fájlban, amely tartalmazza a szükséges kulcs/érték kapcsolat sztring értékeket. Ebben az esetben nem adhatja meg őket közvetlenül a kapcsolati láncban. A Name kulcsszó nem engedélyezett konfigurációs fájlban.

Ha a Name kulcsszó nem szerepel a kapcsolati sztringben, a Szolgáltató kulcsszónak nem üres értéket kell kapnia.

Ez a kulcsszó kizárja az összes többi kapcsolati lánc kulcsszót.

Az alkalmazás közvetlenül a tulajdonságban ConnectionString adja meg a kulcsszót/értékeket, vagy megadhat egy értéket a Name kulcsszóhoz. Ha a Name kulcsszó van megadva, a kapcsolati karakterlánc kulcsszó/értékek egy alkalmazáskonfigurációs fájlból lesznek lekérve az alábbiak szerint:

Name=AdventureWorksEntities;

Ha a Name kulcsszót a ConnectionString tulajdonságban használja, más kulcsszavak nem engedélyezettek. A Name kulcsszó egy elnevezett kapcsolati karakterlánc hivatkozik, amelyet egy alkalmazáskonfigurációs fájl connectionStrings szakaszában tárol, ahogyan az az alábbi példában látható. A Providerrendszer futásidőben kéri le a , Metadataés Provider Connection String az értékeket a konfigurációs fájlból.

A kulcsszó-érték párok közvetlenül a ConnectionString tulajdonságban is megadhatóak, ahogy az alábbi példában is látható. Ebben az esetben a rendszer nem használja a Name kulcsszót.

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

Az olyan objektumok véletlen elhelyezésének elkerülése érdekében, mint például System.Data.Common.CommandTreesObjectContext a metaadatokkal EntityConnection való szinkronizálás, zárolnia kell a metaadatait. A metaadatok zárolása után a kapcsolati karakterlánc nem módosítható. A metaadatok zárolásának két forgatókönyve a következő:

A metaadatok betöltésekor a EntityConnection rendszer ellenőrzi, hogy az elméleti modell, a tárolási modell és a leképezési fájl mind jelen van-e.

A következőre érvényes:

Lásd még