EntityConnection.ConnectionString Tulajdonság
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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 EntityConnection példány a paraméter nélküli konstruktoron vagy a EntityConnection(String) konstruktoron keresztül jön létre, amely elfogadja a kapcsolati karakterlánc. Mindkét esetben előfordulhat, hogy a kapcsolati karakterlánc a kapcsolat megnyitása előtt többször is megváltozik. A metaadatok hívása Open vagy GetMetadataWorkspace zárolása.
A EntityConnection példány a EntityConnection(MetadataWorkspace, DbConnection) konstruktoron keresztül jön létre, amely egy MetadataWorkspace és egy DbConnection. Ebben az esetben a metaadatok a építéskor zárolva vannak. A kapcsolati karakterlánc soha nem lehet módosítani.
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.