Clear        


                
                    namespace _11_AbstractClasses._1_ProductAndStore.Bases
{
    /// <summary>
    /// Veritabanında yönetilecek kayıtlar için kayıtların tüm ortak özelliklerini içeren soyut base class.
    /// </summary>
    abstract class RecordBase // abstract tanımladık çünkü RecordBase new'lenirse (ki soyut olduğu için new'lenemez)
                              // sadece Id ve Guid özellikleri kullanılabileceğinden obje bir anlam ifade etmez,
                              // dolayısıyla abstract tanımlayarak RecordBase'i kendinden miras alan sınıflar için
                              // Id ve Guid özellikleri üzerinden bir altyapı haline getirmiş olduk
    {
        public int Id { get; set; } // veritabanı tablolarında primary key olan özellik
        public string Guid { get; set; } // ilgili .NET sınıfı ve methodu üzerinden her zaman tekil olarak oluşturulacak
                                         // ve istenirse kaydın id'si gibi de kullanılabilecek metinsel özellik
    }
}