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ı 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ı SqlConnectionStringBuilder
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ı 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
, Metadata
ve 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:
ÖrnekEntityConnection, parametresiz oluşturucu aracılığıyla veya bir bağlantı dizesi kabul eden oluşturucu aracılığıyla EntityConnection(String) 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.
ÖrnekEntityConnection, bir MetadataWorkspace ve DbConnectionkabul eden oluşturucu aracılığıyla EntityConnection(MetadataWorkspace, DbConnection) oluşturulur. Bu durumda meta veriler oluşturma zamanında kilitlenir. bağlantı dizesi 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.