Bazı modellerde ortak olan yapıları bir yapıda oluşturmak için aşağıdaki gibi bir temel model oluşturuyoruz. Diğer modelleri bu modelden üreterek oluşturacağız
Models\ProfilTemel.cs
using System.ComponentModel.DataAnnotations;
public class ProfilTemel
{
[Required(ErrorMessage = "Ad Boş bırakılamaz")]
[MinLength(2,ErrorMessage ="En az 2 karakter giriniz")]
[MaxLength(20,ErrorMessage ="En fazla 20 karakter giriniz")]
[Display(Name = "Adınız")]
public string Ad { get; set; }
[Required(ErrorMessage = "Soyad Boş bırakılamaz")]
[MinLength(2,ErrorMessage ="En az 2 karakter giriniz")]
[MaxLength(20,ErrorMessage ="En fazla 20 karakter giriniz")]
[Display(Name = "Soyadınız")]
public string Soyad { get; set; }
[Required(ErrorMessage = "Okul Numarası Boş bırakılamaz")]
[Display(Name = "Okul Numarası")]
[StringLength(5)]
public string OkulNumarasi { get; set; }
}
Daha önce oluşturduğumuz Models\Kayit.cs dosyasınının içeriğini aşağıdaki gibi değiştiriyoruz. Bu sayede Kayit modelimin ProfilTemel modelinden türetilmesini, ProfilTemel modelini Kayit modelinin üstüne inşaa edilmesini sağlayacağız.
Models\Kayit.cs
using System.ComponentModel.DataAnnotations;
public class Kayit:ProfilTemel
{
[Required(ErrorMessage = "Email Boş bırakılamaz")]
[EmailAddress]
public string Email { get; set; }
[DataType(DataType.Password)]
[Required(ErrorMessage = "Şifre Boş bırakılamaz")]
public string Sifre { get; set; }
[DataType(DataType.Password)]
[Required(ErrorMessage = "Şifre Tekrarı Boş bırakılamaz")]
[Compare("Sifre")]
[Display(Name = "Şifre Takrarı")]
public string SifreTekrari { get; set; }
}