EntityConnection.ConnectionString Özellik

Tanım

bağlantı dizesi alır veya ayarlar 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

Özellik Değeri

Bir veri kaynağına ilk bağlantıyı kurmak için gereken bağlantı dizesi. Varsayılan değer boş bir dizedir. Kapalı bir bağlantıda, şu anda ayarlanmış olan değer döndürülür. Değer ayarlanmamışsa boş bir dize döndürülür.

Özel durumlar

'MetadataWorkspaceler başlatıldıktan sonra EntityConnectionözelliği ayarlama ConnectionString girişiminde bulunuldu. , MetadataWorkspace örneği parametre olarak alan MetadataWorkspace aşırı yükleme aracılığıyla oluşturulduğunda veya EntityConnection örnek açıldığında başlatılırEntityConnection.

Geçersiz bir bağlantı dizesi anahtar sözcüğü sağlandı veya gerekli bir bağlantı dizesi anahtar sözcüğü sağlanmadı.

Örnekler

Aşağıdaki örnekte ile SqlConnectionStringBuilderbirlikte nasıl kullanılacağı EntityConnectionStringBuilder gösterilmektedir. Kod, temel alınan sağlayıcı bağlantı dizesi SqlConnectionStringBuilder bir bölümünü sağlayan bir SqlConnection dize oluşturmak için öğesinin özelliklerini ayarlar. Provider Geçerli söz dizimi kullanmadığından SqlConnection adın kullanılarak ayarlanamayacağını SqlConnectionStringBuilderunutmayın. Kod, özellikleri ayarlayarak EntityConnectionStringBuilder dizeyi EntityConnection oluşturur.


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

Açıklamalar

bağlantı dizesi EntityClient noktalı virgülle ayrılmış anahtar sözcük/değer parametre çiftleri dizisini oluşturur. eşittir işareti (=), her anahtar sözcüğü ve değerini bağlar. Aşağıdaki tabloda içindeki anahtar sözcük değerleri için geçerli adlar listelemektedir ConnectionString.

Anahtar sözcük Açıklama
Provider Anahtar sözcük belirtilmezse Name gereklidir. Temel alınan sağlayıcının nesnesini almak DbProviderFactory için kullanılan sağlayıcı adı. Bu değer sabittir.

Name Anahtar sözcük bağlantı dizesi dahil edilmediğinde, anahtar sözcük için Provider boş olmayan bir değer gerekir. Bu anahtar sözcük, anahtar sözcüğüyle birbirini dışlar Name .
Provider Connection String İsteğe bağlı. Temel alınan veri kaynağına geçirilen sağlayıcıya özgü bağlantı dizesi belirtir. Bu bağlantı dizesi, veri sağlayıcısı için geçerli anahtar sözcük/değer çiftleri kullanılarak ifade edilir. Geçersiz Provider Connection String bir durum, veri kaynağı tarafından değerlendirildiğinde çalışma zamanı hatasına neden olur.

Bu anahtar sözcük, anahtar sözcüğüyle birbirini dışlar Name .

değerinin Provider Connection String tırnak içine alınması gerekir. Aşağıda bir örnek verilmiştir:

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

Aşağıdaki örnek çalışmayacak:

Provider Connection String =Server=serverName; User ID = userID
Metadata Anahtar sözcük belirtilmezse Name gereklidir. Model ve eşleme bilgilerinin arandığı dizinlerin, dosyaların ve kaynak konumlarının kanalla ayrılmış listesi. Aşağıda bir örnek verilmiştir:

Metadata=

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

Kanal ayırıcısının her tarafındaki boş boşluklar yoksayılır.

Bu anahtar sözcük, anahtar sözcüğüyle birbirini dışlar Name .
Name Uygulama isteğe bağlı olarak gerekli anahtar sözcüğü/değeri bağlantı dizesi değerleri sağlayan bir uygulama yapılandırma dosyasında bağlantı adını belirtebilir. Bu durumda, bunları doğrudan bağlantı dizesi sağlayamazsınız. Yapılandırma Name dosyasında anahtar sözcüğüne izin verilmez.

Name anahtar sözcüğü bağlantı dizesi dahil edilmediğinde, Provider anahtar sözcüğü için boş olmayan değerler gerekir.

Bu anahtar sözcük, diğer tüm bağlantı dizesi anahtar sözcüklerle birbirini dışlar.

Uygulama anahtar sözcüğü/değerleri doğrudan özelliğinde ConnectionString sağlayabilir veya anahtar sözcük için Name bir değer belirtebilir. Name Anahtar sözcük belirtilirse, bağlantı dizesi anahtar sözcüğü/değerleri bir uygulama yapılandırma dosyasından aşağıdaki gibi alınır:

Name=AdventureWorksEntities;

Name anahtar sözcüğü özelliğinde ConnectionString kullanılıyorsa, diğer anahtar sözcüklere izin verilmez. anahtar Name sözcüğü, aşağıdaki örnekte gösterildiği gibi bir uygulama yapılandırma dosyasının connectionStrings bölümünde depolanan adlandırılmış bir bağlantı dizesi başvurur. Provider, Metadatave Provider Connection String değerleri çalışma zamanında yapılandırma dosyasından alınır.

Anahtar sözcük/değer çiftleri, aşağıdaki örnekte gösterildiği gibi doğrudan ConnectionString özelliğinde de sağlanabilir. Bu durumda anahtar Name sözcüğü kullanılmaz.

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

gibi System.Data.Common.CommandTreesObjectContext nesnelerin meta verileriyle yanlışlıkla eşitlenmemesi için meta EntityConnection verilerini kilitlemesi gerekir. Meta veriler kilitlendikten sonra bağlantı dizesi hiçbir değişikliğe izin verilmez. Meta verilerin kilitlendiği iki senaryo şunlardır:

Meta veriler yüklendiğinde, EntityConnection kavramsal modelin, depolama modelinin ve eşleme dosyasının tümünün mevcut olduğunu doğrular.

Şunlara uygulanır

Ayrıca bkz.