0% found this document useful (0 votes)
8 views7 pages

Code First Attributes

Uploaded by

sisihelmet
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views7 pages

Code First Attributes

Uploaded by

sisihelmet
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Code First Attributes

Code First ün class ve propertyler için defaultta belirli bir dizi nitelikler atadıgını
soylemiştim şimdi bu nitelikleri değiştirmek için kullanacağımız bir diğer yapı olan
DataAnnotation kısmını inceleyelim Bu yontem Code First e benim class ve
propertylerimin ne olacağına ben karar veririm diyor yeri gelmişken söyleyelim
kontrol gücü ve daha fazla özelliği barındırması bakımından bu 2 yöntemi
kıyaslarsak API Fluent yontemi daha güçlüdür. Öncelikle DataAnnotation isim
uzayına ait propertylere erişmek için namespaceler eklenmelidir

Propertylerin kullanımına ornek verecek olursak;

Yukarıdaki sınıfımızda Primary key olarak olarak ProfesorNo belirlendi,yine aynı


şekilde ProfAdi propertysine string karakter uzunlugu olarak 5-50 arasında
girmesi gerektiğini soyleyen ,girmemesi durumunda hata mesajı veren,Adres
alanının boş bırakılamayacağını yani NULL geçilemeyeceğini belirten
DataAnnotation tipleri kullanıldı.

Görüldüğü gibi bu yöntemde propertylere özellik atamak çok hızlı şekilde


yapılabiliyor.

Şimdi kullanabileceğimiz diğer [Link] ve


[Link] attributeleri nelerdir bunları
inceleyelim
[Link] isim uzayı altında;

Key: PK olarak belirlenecek alan yani EntityKey olan kısımdır.


Örneğin Class içindeki iki özelliği beraber Primary key olarak işaretlemek istersek
Timestamp: Sadece byte[] tipindeki özelliklere uygulanabilir.

Required:Boş bırakılamaz alanlara(propertylere) uygulanı[Link]ıda ornegi


bulunuyor
MinLength:Veritiplerinin en az ne kadar very uzunluguna sahip olacagı
[Link] yada array ifadelerin uzunlugu bellirtilir
MaxLength: Veritiplerinin en fazla ne kadar veri uzunluguna sahip olacagı
bildiriliyor. String yada array ifadelerin uzunlugu belirtilir
Bu örnekte StudentName alanı en az 2 en fazla 50 karakter uzunluguna sahip
olacaktır StringLength: Sınıflarda string tipteki propertylere uygulanabilir.
Yukarıda örnegi [Link]
altındakiler ise;

Table: Tablo adı sınıf adı ile eşleştirilir.

Column: Sınıf propertysi ile Sutun adı ve veri tipleri eşleştirilir


Foreign Key: Navigasyon özelliği için yabancı anahtar özelliği belirtilir.
NotMapped :Class içindeki bir property değerini database de olusturmak
isteniyorsak bu özellik kullanılmalıdır.

You might also like