ADO.NET Entity Framework'te Bağlan ion Dizeleri

bağlantı dizesi, veri sağlayıcısından veri kaynağına parametre olarak geçirilen başlatma bilgilerini içerir. Söz dizimi veri sağlayıcısına bağlıdır ve bağlantı açma girişimi sırasında bağlantı dizesi ayrıştırılır. Entity Framework tarafından kullanılan Bağlan ion dizeleri, Entity Framework'ADO.NET destekleyen temel ADO.NET veri sağlayıcısına bağlanmak için kullanılan bilgileri içerir. Bunlar ayrıca gerekli model ve eşleme dosyaları hakkında bilgi içerir.

bağlantı dizesi, modele erişirken ve meta verileri eşlerken ve veri kaynağına bağlanırken EntityClient sağlayıcısı tarafından kullanılır. bağlantı dizesi erişilebilir veya özelliği EntityConnectionaracılığıyla ConnectionString ayarlanabilir. sınıfı, EntityConnectionStringBuilder bağlantı dizesi program aracılığıyla parametreler oluşturmak veya bu parametrelere erişmek için kullanılabilir. Daha fazla bilgi için bkz. Nasıl yapılır: Varlık Oluşturma Bağlan ion Bağlan ion Dizesi.

Varlık Veri Modeli araçları, uygulamanın yapılandırma dosyasında depolanan bir bağlantı dizesi oluşturur. ObjectContext nesne sorguları oluştururken bu bağlantı bilgilerini otomatik olarak alır. EntityConnection Bir ObjectContext örnek tarafından kullanılan özelliğinden Connection erişilebilir. Daha fazla bilgi için bkz. Bağlan yonları ve İşlemleri Yönetme.

Bağlantı Dizesi Söz Dizimi

bağlantı dizesi genel söz dizimi hakkında bilgi edinmek için bkz. Bağlan ion dizesi söz dizimi | ADO.NET'da Bağlan ion Dizeleri.

Bağlan ion Dizesi Parametreleri

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 bir varlı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ükle birbirini dışlar Name .
Provider Connection String isteğ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 içerir. 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ükle birbirini dışlar Name .

ADO.NET bağlantı dizesi genel söz dizimine göre değerin kaçtığına emin olun. Örneğin aşağıdaki bağlantı dizesi göz önünde bulundurun: Server=serverName; User ID = userID. Noktalı virgül içerdiğinden kaçılması gerekir. Çift tırnak işareti içermediğinden, kaçış için kullanılabilir:

Provider Connection String ="Server=serverName; User ID = userID";
Metadata Anahtar sözcük belirtilmezse Name gereklidir. Meta verilerin 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ükle 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ük 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.

Aşağıda, uygulama yapılandırma dosyasında depolanan AdventureWorks Satış Modeli için bir bağlantı dizesi örneği verilmiştir:

Model ve Eşleme Dosyası Konumları

parametresi, Metadata sağlayıcının EntityClient model ve eşleme dosyalarını araması için konumların listesini içerir. Model ve eşleme dosyaları genellikle uygulama yürütülebilir dosyasıyla aynı dizinde dağıtılır. Bu dosyalar ayrıca belirli bir konuma dağıtılabilir veya uygulamaya eklenmiş bir kaynak olarak eklenebilir.

Katıştırılmış kaynaklar aşağıdaki gibi belirtilir:

Metadata=res://<assemblyFullName>/<resourceName>

Ekli kaynağın konumunu tanımlamak için aşağıdaki seçenekler kullanılabilir:

Seçenek Açıklama
assemblyFullName Katıştırılmış kaynağa sahip bir derlemenin tam adı. Ad aşağıdaki gibi basit adı, sürüm adını, desteklenen kültürü ve ortak anahtarı içerir:

ResourceLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null

Kaynaklar, uygulama tarafından erişilebilen herhangi bir derlemeye eklenebilir.

için assemblyFullNamejoker karakter (*) belirtirseniz, Entity Framework çalışma zamanı aşağıdaki konumlardaki kaynakları şu sırayla arar:

1. Çağıran derleme.
2. Başvuruda bulunan derlemeler.
3. Bir uygulamanın bin dizinindeki derlemeler.

Dosyalar bu konumlardan birinde değilse, bir özel durum oluşturulur. Not: Joker karakter (*) kullandığınızda, Entity Framework'ün doğru ada sahip kaynaklar için tüm derlemelere bakmış olması gerekir. Performansı geliştirmek için joker karakter yerine derleme adını belirtin.
resourceName AdventureWorksModel.csdl gibi dahil edilen kaynağın adı. Meta veri hizmetleri yalnızca şu uzantılardan birine sahip dosyaları veya kaynakları arar: .csdl, .ssdl veya .msl. Belirtilmezse resourceName , tüm meta veri kaynakları yüklenir. Kaynakların bir derleme içinde benzersiz adları olmalıdır. Derlemedeki farklı dizinlerde aynı ada sahip birden çok dosya tanımlanmışsa, resourceName klasör yapısını kaynağın adından önce içermelidir, örneğin FolderName.FileName.csdl.

resourceName için assemblyFullNamejoker karakter (*) belirttiğinizde gerekli değildir.

Not

Performansı artırmak için, çağrı derlemesinde temel eşleme ve meta veri dosyalarına başvuru bulunmayan Web dışı senaryolar dışında kaynakları çağıran derlemeye ekleyin.

Aşağıdaki örnek, çağrı derlemesindeki tüm model ve eşleme dosyalarını, başvuruda bulunılan derlemeleri ve bir uygulamanın bin dizinindeki diğer derlemeleri yükler.

Metadata=res://*/

Aşağıdaki örnek, AdventureWorks derlemesinden model.csdl dosyasını yükler ve çalışan uygulamanın varsayılan dizininden model.ssdl ve model.msl dosyalarını yükler.

Metadata=res://AdventureWorks, 1.0.0.0, neutral, a14f3033def15840/model.csdl|model.ssdl|model.msl

Aşağıdaki örnek, belirli bir derlemeden belirtilen üç kaynağı yükler.

Metadata=res://AdventureWorks, 1.0.0.0, neutral, a14f3033def15840/model.csdl|
res://AdventureWorks, 1.0.0.0, neutral, a14f3033def15840/model.ssdl|
res://AdventureWorks, 1.0.0.0, neutral, a14f3033def15840/model.msl

Aşağıdaki örnek, bütünleştirilmiş koddan .csdl, .msl ve .ssdl uzantılarını içeren tüm ekli kaynakları yükler.

Metadata=res://AdventureWorks, 1.0.0.0, neutral, a14f3033def15840/

Aşağıdaki örnek, göreli dosya yolundaki tüm kaynakları ve yüklenen derleme konumundan "datadir\metadata\" öğesini yükler.

Metadata=datadir\metadata\

Aşağıdaki örnek, yüklenen derleme konumundan göreli dosya yolundaki tüm kaynakları yükler.

Metadata=.\

| desteğiDataDirectory| Değiştirme Dizesi ve Web Uygulaması Kök İşleci (~)

DataDirectoryve ~ işleci ve Provider Connection String anahtar sözcüklerinin Metadata bir parçası olarak kullanılırConnectionString. , EntityConnection sırasıyla ve ~ işlecini MetadataWorkspace ve mağaza sağlayıcısını iletirDataDirectory.

Süre Açıklama
&#124;DataDirectory&#124; Eşleme ve meta veri dosyalarının göreli yoluna çözümler. Bu, yöntemi aracılığıyla AppDomain.SetData("DataDirectory", objValue) ayarlanan değerdir. Değiştirme DataDirectory dizesi, kanal karakterleriyle çevrelenmelidir ve adıyla kanal karakterleri arasında boşluk olamaz. Ad DataDirectory büyük/küçük harfe duyarlı değildir.

"DataDirectory" adlı bir fiziksel dizinin meta veri yolları listesinin bir üyesi olarak geçirilmesi gerekiyorsa, adın iki tarafına veya her iki tarafına boşluk ekleyin. Örneğin: Metadata="DataDirectory1 &#124; DataDirectory &#124; DataDirectory2". bir ASP.NET uygulaması çözümlenmesi |DataDirectory| "<uygulama kökü>/app_data" klasörüne.
~ Web uygulaması köküne çözümler. Öndeki konumdaki ~ karakteri her zaman Web uygulaması kök işleci (~) olarak yorumlanır, ancak geçerli bir yerel alt dizini temsil edebilir. Böyle bir yerel alt dizine başvurmak için kullanıcının açıkça geçirmesi ./~gerekir.

DataDirectory ve ~ işleci yalnızca yolun başında belirtilmelidir, bunlar başka bir konumda çözümlenmez. Entity Framework, çözümünü ~/datadener, ancak fiziksel bir yol olarak ele /data/~ alır.

veya ~ işleciyle DataDirectory başlayan bir yol, ve ~ işlecinin DataDirectory dalı dışındaki fiziksel bir yola çözümlenemez. Örneğin, aşağıdaki yollar çözümlenir: ~ , ~/data , ~/bin/Model/SqlServer. Aşağıdaki yollar çözümlenmeyecek: ~/.., ~/../other.

DataDirectory ve ~ işleci aşağıdaki gibi alt dizinleri içerecek şekilde genişletilebilir: |DataDirectory|\Model, ~/bin/Model

Değiştirme dizesinin DataDirectory ve ~ işlecinin çözümlemesi özyinelemeli değildir. Örneğin, DataDirectory karakteri içerdiğinde ~ bir özel durum oluşur. Bu, sonsuz özyineleme yapılmasını önler.

Ayrıca bkz.