Aracılığıyla paylaş


Ortak şema koleksiyonları

Şunlar için geçerlidir: .NET Framework .NET .NET Standard

ADO.NET indirin

Yaygın şema koleksiyonları, .NET tarafından yönetilen sağlayıcıların her biri tarafından uygulanan şema koleksiyonlarıdır. Yöntemini bağımsız değişken olmadan veya şema koleksiyonu adı "MetaDataCollections" ile çağırarak GetSchema desteklenen şema koleksiyonlarının listesini belirlemek için .NET yönetilen sağlayıcısını sorgulayabilirsiniz. Bu yöntem, desteklenen şema koleksiyonlarının listesini, her birinin desteklediği kısıtlamaların sayısını ve kullandıkları tanımlayıcı parçalarının sayısını içeren bir DataTable döndürür. Bu koleksiyonlar tüm gerekli sütunları açıklar. Sağlayıcılar isterlerse daha fazla sütun ekleyebilir. Örneğin, SQL Server için Microsoft SqlClient Veri Sağlayıcısı kısıtlamalar koleksiyonuna ekler ParameterName .

Sağlayıcı gerekli bir sütunun değerini belirleyemezse null döndürür.

Daha fazla bilgi için, GetSchema yöntemlerini kullanma hususunda GetSchema ve Şema Koleksiyonları bölümüne bakın.

MetaDataCollections

Bu koleksiyon, şu anda veritabanına bağlanmak için kullanılan sağlayıcı tarafından desteklenen tüm şema koleksiyonları hakkındaki bilgileri kullanıma sunar.

ColumnName VeriTürü Description
Koleksiyon Adı string Koleksiyonu döndürmek için GetSchema yöntemine geçirilecek koleksiyonun adı.
KısıtlamaSayısı int Koleksiyon için belirtilebilen kısıtlamaların sayısı.
TanımlayıcıParçaSayısı int Bileşik tanımlayıcı/veritabanı nesne adındaki parça sayısı. Örneğin, SQL Server'da değer tablolar için 3, sütunlar için 4 olur.

VeriKaynağıBilgisi

Bu şema koleksiyonu, SQL Server için Microsoft SqlClient Veri Sağlayıcısı'nın şu anda bağlı olduğu veri kaynağı hakkındaki bilgileri kullanıma sunar.

ColumnName VeriTürü Description
BileşikKimlikAyırıcıDüzeni string Bileşik tanımlayıcıdaki bileşik ayırıcıları eşleştirmek için kullanılan düzenli ifade. Örneğin, \. (SQL Server için).

Bileşik tanımlayıcı genellikle veritabanı nesne adı için kullanılan tanımlayıcıdır; örneğin: pubs.dbo.authors veya pubs@dbo.authors.

SQL Server için normal ifadesini \.kullanın.
VeriKaynağıÜrünAdı string Sağlayıcı tarafından erişilen ürünün adı, örneğin "SQLServer".
VeriKaynağıÜrünSürümü string Sağlayıcının eriştiği ürün sürümünü, Microsoft biçiminde değil, veri kaynaklarının yerel formatında gösterir.

Bazı durumlarda DataSourceProductVersion ve DataSourceProductVersionNormalized aynı değer olabilir.
VeriKaynağıÜrünSürümüNormalleştirilmiş string Veri kaynağı için, ile String.Compare()karşılaştırılabilecek şekilde normalleştirilmiş bir sürüm. Bu biçim, sürüm 10'un sürüm 1 ile sürüm 2 arasında sıralanmasını önlemek için sağlayıcının tüm sürümleri için tutarlıdır.

Örneğin, SQL Server tipik Microsoft nn.nn.nnnn biçimini kullanır.

Bazı durumlarda DataSourceProductVersion ve DataSourceProductVersionNormalized aynı değer olabilir.
GroupByBehavior GroupByBehavior GROUP BY yan tümcesindeki sütunlar ile seçme listesindeki toplanmamış sütunlar arasındaki ilişkiyi belirtir.
KimlikDeseni string Bir tanımlayıcıyla eşleşen ve tanımlayıcının eşleşme değerine sahip normal ifade. Örneğin, [A-Za-z0-9_#$].
Tanımlayıcı Durumu IdentifierCase Tırnak içinde olmayan tanımlayıcıların büyük/küçük harfe duyarlı olarak değerlendirilip değerlendirilmediğini gösterir.
SütunlaraGöreSıralaSeçimlerde bool ORDER BY yan tümcesindeki sütunların seçme listesinde bulunup bulunmayacağını belirtir. değeri true , bunların seçme listesinde olması gerektiğini gösterir. değeri false , seçme listesinde yer almalarının gerekli olmadığını gösterir.
ParametreİşaretleyiciBiçimi string Parametrenin nasıl biçimlendirildiğini gösteren biçim dizesi.

Adlandırılmış parametreler veri kaynağı tarafından destekleniyorsa, bu dizedeki ilk yer tutucu parametre adının biçimlendirileceği yer olmalıdır.

Örneğin, veri kaynağı parametrelerin adlandırılmasını ve bir : ile önek olarak düzenlenmesini bekliyorsa, bu dize :{0} olacaktır. p1 adıyla bu parametreyi biçimlendirdiğinizde, elde edilen dize :p1 olur.

Veri kaynağı, parametrelerin ön ek ile başlamasını @ bekliyorsa ancak adlar bunları zaten içeriyorsa, bu dize {0} olur ve biçimlendirilmiş @p1 adlı parametrenin sonucu @p1 olacaktır.

Adlandırılmış parametreleri beklemeyen ve karakterin ? kullanılmasını bekleyen veri kaynakları için biçim dizesi olarak ?belirtilebilir ve bu da parametre adını yoksayar.
Parameter İşaretleyici Deseni string Parametre işaretçisi ile eşleşen normal ifade. Varsa parametre adının eşleşme değerine sahip olur.

Örneğin, adlandırılmış parametreler parametre adına eklenecek bir @ giriş karakteriyle destekleniyorsa, bu desen şöyle olur: (\@[A-Za-z0-9_$#]*).

Ancak, adlandırılmış parametreler öncül bir karakter olarak : ile destekleniyorsa ve bu karakter parametre adının bir parçası değilse, bu desen şöyle olacaktır: :([A-Za-z0-9_$#]\*).

Veri kaynağı adlandırılmış parametreleri desteklemiyorsa, bu desen olacaktır ?.
ParametreAdıAzamiUzunluk int Parametre adının karakter cinsinden uzunluk üst sınırı. Visual Studio, parametre adları destekleniyorsa uzunluk üst sınırı için en düşük değerin 30 karakter olmasını bekler.

Veri kaynağı adlandırılmış parametreleri desteklemiyorsa, bu özellik sıfır döndürür.
ParametreAdıDeseni string Geçerli parametre adları ile eşleşen normal bir ifade. Farklı veri kaynakları, parametre adları için kullanılabilecek karakterler hakkında farklı kurallara sahiptir.

Visual Studio, parametre adları destekleniyorsa, karakterlerin \p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Nd} parametre adları için geçerli olan desteklenen en düşük karakter kümesi olmasını bekler.
Alıntılanmış Tanımlayıcı Deseni string Tırnak içinde belirtilen tanımlayıcıyla eşleşen ve tırnak işaretleri olmadan tanımlayıcının kendi eşleşme değerine sahip normal ifade. Örneğin, veri kaynağı tırnak içine alınmış tanımlayıcıları tanımlamak için çift tırnak kullandıysa, bu desen şöyle olur: (([^\\"]\|\\"\\")*).
TırnaklıTanımlayıcıDurumu IdentifierCase Tırnak içine alınmış tanımlayıcıların büyük/küçük harfe duyarlı olarak değerlendirilip değerlendirilmediğini gösterir.
DurumAyırıcıDeseni string İfade ayırıcısıyla eşleşen düzenli ifade.
DizeKelimeDeseni string Bir dize değişmez değeriyle eşleşen ve değişmez değerin eşleşme değerine sahip normal ifade. Örneğin, veri kaynağı dizeleri tanımlamak için tek tırnaklar kullandıysa, bu desen şöyle olacaktır: ('([^']\|'')*')'
Desteklenen Birleşim Operatörleri SupportedJoinOperators Veri kaynağı tarafından desteklenen SQL birleştirme deyimlerinin türlerini belirtir.

Veri Türleri

Bu şema koleksiyonu, sağlayıcının şu anda bağlı olduğu veritabanı tarafından desteklenen veri türleri hakkındaki bilgileri kullanıma sunar.

ColumnName VeriTürü Description
TürAdı string Sağlayıcıya özgü veri türü adı.
ProviderDbType int Parametrenin türü belirtilirken kullanılması gereken sağlayıcıya özgü tür değeri. Örneğin, SqlDbType.Money.
Sütun Boyutu long Sayısal olmayan bir sütunun veya parametrenin uzunluğu. Bu değer, sağlayıcı tarafından bu tür için tanımlanan maksimum veya uzunluğu ifade eder.

Karakter verileri için bu değer, veri kaynağı tarafından tanımlanan birim cinsinden en büyük veya tanımlı uzunlukdur.

Tarih-saat veri türleri için bu değer dize gösteriminin uzunluğudur (kesirli saniye bileşeninin izin verilen en yüksek duyarlığı varsayılır).

Veri türü sayısalsa, bu değer veri türünün en yüksek duyarlığı üzerindeki üst sınırdır.
Format Oluştur string Bu sütunun CREATE TABLE gibi bir veri tanımı deyimine nasıl ekleneceğini temsil eden biçim dizesi. Dizideki CreateParameter her öğe, biçim dizesindeki bir "parametre işaretçisi" ile temsil edilmelidir.

Örneğin, DECIMAL SQL veri türü için bir kesinlik ve ölçek gereklidir. Bu durumda, biçim dizesi olacaktır DECIMAL({0},{1}).
ParametreleriOluştur string Bu veri türünde bir sütun oluşturulurken belirtilmesi gereken oluşturma parametreleri. Oluşturma parametreleri dizede listelenir ve verilme sırasıyla virgülle ayrılır.

Örneğin, DECIMAL SQL veri türü için bir kesinlik ve ölçek gereklidir. Bu durumda, oluşturma parametreleri "precision, scale" dizesini içermelidir.

10 haneli bir hassasiyet ve 2 haneli bir ölçek ile ONDALıK bir sütun oluşturmak için bir metin komutunda, CreateFormat sütununun değeri DECIMAL({0},{1}) olabilir ve tam tür belirtimi DECIMAL(10,2) olacaktır.
VeriTürü string Veri türünün .NET türünün adı.
OtoArtışabilirMi bool true - Bu veri türünün değerleri otomatik olarak artırılabilir.

false - Bu veri türünün değerleri otomatik olarak artırılamayabilir.

Bu özellik yalnızca bu veri türündeki bir sütunun otomatik olarak artırılıp artırılmadığını gösterir, bu türe ait tüm sütunların otomatik olarak artırılıp artırılmadığını gösterir.
IsBestMatch bool true - Veri türü, veri deposundaki tüm veri türleriyle sütundaki değerle DataType belirtilen .NET veri türü arasındaki en iyi eşleşmedir.

false - Veri türü en iyi eşleşme değildir.

DataType sütununun değerinin aynı olduğu her satır kümesi için, IsBestMatch sütunu yalnızca bir satırda true olarak ayarlanır.
BüyükKüçükHarfDuyarlı bool true - Veri türü bir karakter türüdür ve büyük/küçük harfe duyarlıdır.

false - Veri türü bir karakter türü değildir veya büyük/küçük harfe duyarlı değildir.
SabitUzunluk bool true - Veri tanımı dili (DDL) tarafından oluşturulan bu veri türünün sütunları sabit uzunlukta olacaktır.

false - DDL tarafından oluşturulan bu veri türünün sütunları değişken uzunlukta olacaktır.

DBNull.Value - Sağlayıcının bu alanı sabit uzunluklu veya değişken uzunlukta bir sütunla eşleyip eşlemeyeceği bilinmez.
[No changes needed] bool true - Veri türünün sabit bir duyarlığı ve ölçeği vardır.

false - Veri türünün sabit bir duyarlığı ve ölçeği yoktur.
IsLong bool true - Veri türü çok uzun veriler içerir; çok uzun verilerin tanımı sağlayıcıya özgüdür.

false - Veri türü çok uzun veriler içermez.
IsNullable bool true - Veri türü null atanabilir.

false - Veri türü null değer kabul etmez.

DBNull.Value - Veri türünün null atanabilir olup olmadığı bilinmez.
AranabilirMi bool true - Veri türü, LIKE önermesi dışında herhangi bir işleçle WHERE yan tümcesinde kullanılabilir.

false - Veri türü, LIKE koşulu dışında herhangi bir işleçle WHERE yan tümcesinde kullanılamaz.
Like ile Aranabilir bool true - Veri türü LIKE koşuluyla kullanılabilir.

false - Veri türü LIKE koşuluyla kullanılamaz.
İşaretsiz mi bool true - Veri türü imzalanmamış.

false - Veri türü imzalanır.

DBNull.Value - Veri türü için geçerli değildir.
Maksimum Ölçek short Tür göstergesi sayısal bir türse, bu değer ondalık ayırıcının sağındaki izin verilen basamak sayısı üst sınırıdır. Aksi takdirde, bu değer şeklindedir DBNull.Value.
Minimum Ölçeklendirme short Tür göstergesi sayısal bir türse, bu değer ondalık ayırıcının sağındaki izin verilen en az basamak sayısıdır. Aksi takdirde, bu değer şeklindedir DBNull.Value.
IsConcurrencyType bool true – Veri türü, satır her değiştirildiğinde veritabanı tarafından güncelleştirilir ve sütunun değeri önceki tüm değerlerden farklıdır.

false – Veri türü, satır her değiştirildiğinde veritabanı tarafından güncelleştirilir.

DBNull.Value – Veritabanı bu veri türünü desteklemiyor.
IsLiteralSupported bool true – Veri türü sabit olarak ifade edilebilir.

false – Veri türü sabit değer olarak ifade edilemiyor.
LiteralÖnek string Belirli bir değişmez değere uygulanan ön ek.
Değişmez Değer Soneki string Belirli bir değişmez değere uygulanan sonek.

Restrictions

Bu şema koleksiyonu, şu anda veritabanına bağlanmak için kullanılan sağlayıcının desteklediği kısıtlamalar hakkında bilgi sağlar.

ColumnName VeriTürü Description
Koleksiyon Adı string Bu kısıtlamaların uygulandığı koleksiyonun adı.
KısıtlamaAdı string Koleksiyondaki kısıtlamanın adı.
KısıtlamaVarsayılan string Göz ardı edildi.
Kısıtlama Numarası int Bu özel kısıtlamanın geçerli olduğu koleksiyon kısıtlamalarındaki gerçek konum.

Ayrılmış Kelimeler

Bu şema koleksiyonu, şu anda bağlı olunan sağlayıcı tarafından yönetilen veritabanının ayırdığı kelimeler hakkında bilgileri ortaya koyar.

ColumnName VeriTürü Description
Rezerve Edilmiş Kelime string Sağlayıcıya özgü ayrılmış sözcük.

Ayrıca bakınız