EntityConnection.ConnectionString Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bağlantı dizesini EntityConnection alır veya ayarlar.
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
'ler ConnectionString başlatıldıktan sonra EntityConnectionMetadataWorkspace özelliği ayarlama 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ı dizesinin 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 SqlConnectionStringBuilderkullanılarak ayarlanamayacağını unutmayı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ı EntityClient dizesi, noktalı virgülle ayrılmış bir 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, ConnectionString içindeki anahtar sözcük değerleri için geçerli adlar listelenmektedir.
| Anahtar sözcük | Açıklama |
|---|---|
Provider |
Anahtar sözcük belirtilmezse Name gereklidir. Sağlayıcı adının, temel alınan sağlayıcı için DbProviderFactory nesnesini almak amacıyla kullanılması. Bu değer sabittir.Anahtar sözcük bağlantı dizesine Name dahil edilmediğinde, anahtar sözcük için Provider boş olmayan bir değer gerekir. Bu anahtar sözcük, Name anahtar sözcüğü ile birbirini dışlar. |
Provider Connection String |
Optional. Sağlayıcıya özgü bağlantı dizesi, temel alınan veri kaynağına iletilir ve belirtilir. 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, Name anahtar sözcüğü ile birbirini dışlar.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;Boru ayırıcısının her iki tarafındaki boşluklar yoksayılır. Bu anahtar sözcük, Name anahtar sözcüğü ile birbirini dışlar. |
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ı dizesinde sağlayamazsınız. Yapılandırma Name dosyasında anahtar sözcüğüne izin verilmez.Name anahtar sözcüğü bağlantı dizesine dahil edilmediğinde, Provider anahtar sözcüğü için boş olmayan değerler gereklidir.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 uygulama yapılandırma dosyasındaki bölümünde depolanan connectionStrings adlandırılmış bir bağlantı dizesine 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ük 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 nesneleri yanlışlıkla meta verileriyle eşitlemeden çıkarmaktan kaçınmak için meta EntityConnection verilerini kilitlemesi gerekir. Meta veriler kilitlendikten sonra bağlantı dizesinde hiçbir değişikliğe izin verilmez. Meta verilerin kilitlendiği iki senaryo şunlardır:
Örnek EntityConnection , parametresiz oluşturucu aracılığıyla veya bağlantı dizesini EntityConnection(String) kabul eden oluşturucu aracılığıyla oluşturulur. Her iki durumda da, bağlantı açılmadan önce bağlantı dizesi birden çok kez değiştirilebilir. Meta verileri çağırma Open veya GetMetadataWorkspace kilitleme.
ÖrneğiEntityConnection, ve MetadataWorkspaceDbConnectionkabul eden oluşturucu aracılığıyla EntityConnection(MetadataWorkspace, DbConnection) oluşturulur. Bu durumda meta veriler yapım zamanında kilitlenir. Bağlantı dizesinde hiçbir değişikliğe izin verilmez.
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.