Aracılığıyla paylaş


Attribute-Based Eşlemesi

LINQ to SQL, öznitelikleri uygulayarak veya bir dış eşleme dosyası kullanarak SQL Server veritabanını LINQ ile SQL nesne modeline eşler. Bu konu başlığı altında öznitelik tabanlı yaklaşım özetlenmiştir.

LinQ to SQL, en temel biçiminde bir veritabanını ile DataContext, tabloyu bir sınıfla, sütunları ve ilişkileri de bu sınıflardaki özelliklerle eşler. Nesne modelinizdeki bir devralma hiyerarşisini eşlemek için öznitelikleri de kullanabilirsiniz. Daha fazla bilgi için bkz . Nasıl yapılır: Visual Basic veya C# dilinde Nesne Modeli Oluşturma.

Visual Studio kullanan geliştiriciler genellikle Nesne İlişkisel Tasarımcısı'nı kullanarak öznitelik tabanlı eşleme gerçekleştirir. SQLMetal komut satırı aracını da kullanabilir veya öznitelikleri kendiniz el ile kodlayabilirsiniz. Daha fazla bilgi için bkz . Nasıl yapılır: Visual Basic veya C# dilinde Nesne Modeli Oluşturma.

Uyarı

Dış XML dosyası kullanarak da eşleyebilirsiniz. Daha fazla bilgi için bkz. Dış Eşleme.

Aşağıdaki bölümlerde öznitelik tabanlı eşleme daha ayrıntılı olarak açıklanmaktadır. Daha fazla bilgi için System.Data.Linq.Mapping ad alanına bakın.

DatabaseAttribute Özniteliği

Bağlantı tarafından bir ad sağlanmadığında veritabanının varsayılan adını belirtmek için bu özniteliği kullanın. Bu öznitelik isteğe bağlıdır, ancak bunu kullanırsanız, aşağıdaki tabloda açıklandığı gibi özelliğini uygulamanız Name gerekir.

Mülkiyet Türü Varsayılan Açıklama
Name Dize Bkz. Name özelliğiyle birlikte Name kullanılır, veritabanının adını belirtir.

Daha fazla bilgi için bkz. DatabaseAttribute.

TableAttribute Özniteliği

Bir sınıfı, veritabanı tablosu veya görünümüyle ilişkili bir varlık sınıfı olarak atamak için bu özniteliği kullanın. LINQ to SQL, bu özniteliği olan sınıfları kalıcı sınıflar olarak ele alır. Aşağıdaki tabloda özelliği açıklanmaktadır Name .

Mülkiyet Türü Varsayılan Açıklama
Name Dize Sınıf adıyla aynı dize Bir sınıfı, veritabanı tablosuyla ilişkilendirilmiş bir varlık sınıfı olarak belirler.

Daha fazla bilgi için bkz. TableAttribute.

ColumnAttribute Özelliği

Veritabanı tablosundaki bir sütunu temsil etmek üzere varlık sınıfının bir üyesini atamak için bu özniteliği kullanın. Bu özniteliği herhangi bir alana veya özelliğe uygulayabilirsiniz.

LINQ to SQL değişiklikleri veritabanına kaydettiğinde yalnızca sütun olarak tanımladığınız üyeler alınır ve kalıcı hale getirilir. Bu özniteliği olmayan üyelerin kalıcı olmadığı varsayılır ve eklemeler veya güncelleştirmeler için gönderilmez.

Aşağıdaki tabloda bu özniteliğin özellikleri açıklanmaktadır.

Mülkiyet Türü Varsayılan Açıklama
AutoSync AutoSync (Otomatik Senkronizasyon) Hiç Ortak dil çalışma zamanına (CLR) ekleme veya güncelleştirme işleminden sonra değeri almasını ister.

Seçenekler: Always, Never, OnUpdate, OnInsert.
CanBeNull Boolean (Boole Mantığı) true Bir sütunun null değerler içerebileceğini gösterir.
DbType Dize Çıkarsanan veritabanı sütun türü Veritabanı sütununun türünü belirtmek için veritabanı türlerini ve değiştiricileri kullanır.
Expression Dize Boş Veritabanında hesaplanan bir sütun tanımlar.
IsDbGenerated Boolean (Boole Mantığı) false Bir sütunun veritabanının otomatik olarak oluşturduğu değerleri içerdiğini gösterir.
IsDiscriminator Boolean (Boole Mantığı) false Sütunun LINQ to SQL devralma hiyerarşisi için ayrıştırıcı değeri içerdiğini gösterir.
IsPrimaryKey Boolean (Boole Mantığı) false Bu sınıf üyesinin tablonun birincil anahtarları olan veya bir parçası olan bir sütunu temsil ettiğini belirtir.
IsVersion Boolean (Boole Mantığı) false Üyenin sütun türünü veritabanı zaman damgası veya sürüm numarası olarak tanımlar.
UpdateCheck UpdateCheck Always, bir üye için değilse IsVersiontrue LINQ to SQL'in iyimser eşzamanlılık çakışmalarının algılanması yaklaşımını belirtir.

Daha fazla bilgi için bkz. ColumnAttribute.

Uyarı

AssociationAttribute ve ColumnAttribute depolama özellik değerleri büyük/küçük harfe duyarlıdır. Örneğin, AssociationAttribute.Storage özelliğinin özniteliğinde kullanılan değerlerin kodun başka bir yerinde kullanılan ilgili özellik adlarıyla büyük/küçük harf uyumunu sağladığından emin olun. Bu, Visual Basic de dahil olmak üzere genellikle büyük/küçük harfe duyarlı olmayan tüm .NET programlama dilleri için geçerlidir. Depolama özelliği hakkında daha fazla bilgi için bkz DataAttribute.Storage. .

AssociationAttribute Özelliği

Veritabanındaki bir ilişkiyi temsil edecek bir özellik (örneğin, yabancı anahtardan birincil anahtara ilişki) göstermek için bu özniteliği kullanın. İlişkiler hakkında daha fazla bilgi için bkz: Nasıl Yapılır: Veritabanı İlişkilerini Eşleme.

Aşağıdaki tabloda bu özniteliğin özellikleri açıklanmaktadır.

Mülkiyet Türü Varsayılan Açıklama
DeleteOnNull Boolean (Boole Mantığı) false Yabancı anahtar üyelerinin tümünün boş olmaması gereken bir ilişkilendirmeye yerleştirildiğinde, ilişkilendirme null olarak ayarlandığında nesne silinir.
DeleteRule Dize Hiç kimse İlişkilendirmeye silme davranışı ekler.
IsForeignKey Boolean (Boole Mantığı) false True ise, üyeyi bir veritabanı ilişkisini temsil eden bir ilişkilendirmede yabancı anahtar olarak gösterir.
IsUnique Boolean (Boole Mantığı) false Doğruysa, yabancı anahtar üzerinde benzersizlik kısıtlamasını gösterir.
OtherKey Dize İlgili sınıfın kimliği Hedef varlık sınıfının bir veya daha fazla üyesini ilişkilendirmenin diğer tarafında anahtar değerleri olarak belirler.
ThisKey Dize İçeren sınıfın kimliği İlişkilendirmenin bu tarafındaki anahtar değerleri temsil etmek için bu varlık sınıfının üyelerini belirler.

Daha fazla bilgi için bkz. AssociationAttribute.

Uyarı

AssociationAttribute ve ColumnAttribute depolama özellik değerleri büyük/küçük harfe duyarlıdır. Örneğin, AssociationAttribute.Storage özelliğinin özniteliğinde kullanılan değerlerin kodun başka bir yerinde kullanılan ilgili özellik adlarıyla büyük/küçük harf uyumunu sağladığından emin olun. Bu, Visual Basic de dahil olmak üzere genellikle büyük/küçük harfe duyarlı olmayan tüm .NET programlama dilleri için geçerlidir. Depolama özelliği hakkında daha fazla bilgi için bkz DataAttribute.Storage. .

InheritanceMappingAttribute Özelliği

Devralma hiyerarşisini eşlemek için bu özniteliği kullanın.

Aşağıdaki tabloda bu özniteliğin özellikleri açıklanmaktadır.

Mülkiyet Türü Varsayılan Açıklama
Code Dize Yok. Değer sağlanmalıdır. Ayırıcının kod değerini belirtir.
IsDefault Boolean (Boole Mantığı) false Doğruysa, depodaki belirteç değeri belirtilen değerlerden herhangi biriyle eşleşmediğinde bu türde bir nesne oluşturur.
Type Türü Yok. Değer sağlanmalıdır. Hiyerarşideki sınıfın türünü belirtir.

Daha fazla bilgi için bkz. InheritanceMappingAttribute.

FunctionAttribute Özniteliği

Bir yöntemi veritabanındaki saklı yordamı veya kullanıcı tanımlı işlevi temsil eden olarak ayarlamak için bu özniteliği kullanın.

Aşağıdaki tabloda bu özniteliğin özellikleri açıklanmaktadır.

Mülkiyet Türü Varsayılan Açıklama
IsComposable Boolean (Boole Mantığı) false Yanlış ise, bir saklı yordam ile eşleştirmeyi gösterir. True ise, kullanıcı tanımlı bir işleve eşlemeyi gösterir.
Name Dize Veritabanındaki adla aynı dize Saklı yordamın veya kullanıcı tanımlı işlevin adını belirtir.

Daha fazla bilgi için bkz. FunctionAttribute.

ParameterAttribute Özniteliği

Saklı yordam yöntemlerinde giriş parametrelerini eşlemek için bu özniteliği kullanın.

Aşağıdaki tabloda bu özniteliğin özellikleri açıklanmaktadır.

Mülkiyet Türü Varsayılan Açıklama
DbType Dize Hiç kimse Veritabanı türünü belirtir.
Name Dize Veritabanındaki parametre adıyla aynı dize parametresi için bir ad belirtir.

Daha fazla bilgi için bkz. ParameterAttribute.

ResultTypeAttribute Özniteliği

Bir sonuç türü belirtmek için bu özniteliği kullanın.

Aşağıdaki tabloda bu özniteliğin özellikleri açıklanmaktadır.

Mülkiyet Türü Varsayılan Açıklama
Type Türü (Yok) Veritabanı saklı yordamlarına eşlenen ve IMultipleResults döndüren yöntemlerde kullanılır. Saklı yordam için geçerli veya beklenen tür eşlemelerini bildirir.

Daha fazla bilgi için bkz. ResultTypeAttribute.

DataAttribute Özniteliği

Adları ve özel depolama alanlarını belirtmek için bu özniteliği kullanın.

Aşağıdaki tabloda bu özniteliğin özellikleri açıklanmaktadır.

Mülkiyet Türü Varsayılan Açıklama
Name Dize Veritabanındaki adla aynı Tablonun, sütunun ve benzerinin adını belirtir.
Storage Dize Herkese açık erişimciler Temel alınan depolama alanının adını belirtir.

Daha fazla bilgi için bkz. DataAttribute.

Ayrıca bakınız