Arkadaşlar merhaba MVC 5 çalışıyorum . Dökümanda entity Framework yapısı anlatılırken SatisContext adında bir class oluşturuluyor. Bu class DbContext sınıfının kalıtımını alıyor. Buraya kadar tamam . Ancak SatisConstructor metodu oluşturulup DbContext metodunun Constructor ı burda çağırılıyor. Aşağıdaki gibi :
public class SatisContext : DbContext {
public SatisContext () : base ("SatisVeritabanı") { }
}
Burdaki base ifadesiyle mi ordaki constructor çağırılmış oluyor? string tipinde SatisVeritabanı parametresi oluşturuluyor ama burda string olduğu belirtilmiyor, gerekmiyor mu? Ayrıca neden constructor oluşturma gereği duyuluyor?
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
base() inherit edilen classın constructor'ı anlamına gelir. içine "SatisVeritabanı" yazarsan o da string parametreli constructor olur. string olduğunu belirtmemesi normal zaten. herhangi bir metodu çağırırken de belirtmezsin çünkü.
constructor overloading deniyor buna.
neden constructora gerek duyuluyor dersen basit cevabı: veri tabanına bağlanmak için. (connectionstring veya db name geçer parametre.)
base() inherit edilen classın constructor'ı anlamına gelir. içine "SatisVeritabanı" yazarsan o da string parametreli constructor olur. string olduğunu belirtmemesi normal zaten. herhangi bir metodu çağırırken de belirtmezsin çünkü.
constructor overloading deniyor buna.
neden constructora gerek duyuluyor dersen basit cevabı: veri tabanına bağlanmak için. (connectionstring veya db name geçer parametre.)
Daha iyi şekillendi ama hala tam anlayamadığım, neden veri tabanı bağlantısı yapmak için constructor a ihtiyaç duyulduğu. Döküman da ingilizce olduğu için anlamadım, türkçe döküman var mı?
hocam bir nesne oluştururken constructor kullanırız, çünkü belirli değişkenleri varsayılan olarak atamak isteriz veya atıyorum bir Timer'ı obje oluşturulunca ayarlarız. bu da öyle işte DbContext nesnesi oluşturuyor ve bu nesneyi oluştururken gerekli string parametresini geçiriyor. bu sayede o constructor'da gerekli işlemler yapılıp veri tabanına bağlanabiliyoruz.
104. satırda string parametreli constructor. içinde önce string boş mu diye kontrol ediyor:https://github.com/aspnet/EntityFramework6/blob/master/src/Common/Check.cs sonra da InitializeLazyInternalContext metodunu çağırıyor: InitializeLazyInternalContext(new LazyInternalConnection(this, nameOrConnectionString));
... böyle bakabilirsin neler yaptığına.
özet olarak veri tabanı bağlantısı kurması gerektiği için obje oluşturulurken nereye bağlanacağını soruyor sana.
hocam bir nesne oluştururken constructor kullanırız, çünkü belirli değişkenleri varsayılan olarak atamak isteriz veya atıyorum bir Timer'ı obje oluşturulunca ayarlarız. bu da öyle işte DbContext nesnesi oluşturuyor ve bu nesneyi oluştururken gerekli string parametresini geçiriyor. bu sayede o constructor'da gerekli işlemler yapılıp veri tabanına bağlanabiliyoruz.
104. satırda string parametreli constructor. içinde önce string boş mu diye kontrol ediyor:https://github.com/aspnet/EntityFramework6/blob/master/src/Common/Check.cs sonra da InitializeLazyInternalContext metodunu çağırıyor: InitializeLazyInternalContext(new LazyInternalConnection(this, nameOrConnectionString));
... böyle bakabilirsin neler yaptığına.
özet olarak veri tabanı bağlantısı kurması gerektiği için obje oluşturulurken nereye bağlanacağını soruyor sana.
DbContext içeriğini bilemediğim için anlayamamışım. Sanki her constructor da veri tabanı bağlantısı yapılıyor gibi anladım önce. Şimdi tamam. Tabii base ifadesiyle inherit edilen sınıftaki constructor ın işaret edildiğini öğrenmiş oldum ayrıca. İlk linkteki sayfada anlaşılıyor ancak ikinci linkteki koddan pek bişey anlamadım maalesef. Ordaki dil c# mı ?
MVC 5 çalışıyorum . Dökümanda entity Framework yapısı anlatılırken SatisContext adında bir class oluşturuluyor. Bu class DbContext sınıfının kalıtımını alıyor. Buraya kadar tamam . Ancak SatisConstructor metodu oluşturulup DbContext metodunun Constructor ı burda çağırılıyor. Aşağıdaki gibi :
public class SatisContext : DbContext
{
public SatisContext () : base ("SatisVeritabanı") { }
}
Burdaki base ifadesiyle mi ordaki constructor çağırılmış oluyor? string tipinde SatisVeritabanı parametresi oluşturuluyor ama burda string olduğu belirtilmiyor, gerekmiyor mu? Ayrıca neden constructor oluşturma gereği duyuluyor?
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.