You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Context nesnesi bizim veritabanımıza karşılık gelen class. Şimdi bu class hangi sunucudaki veritabanına bağlaancaksa hangi kullanıcı adı şifresiyle bağlanacaksa ya da lazy loading gibi bir operasyon gerçekleştirecek mi gerçekleştirmeyecek mi bununla ilgili temel konfigürasyon yapılanması olacaksa ya da Context ile ilgili temel yapılandırmalar olacaksa bunların hepsini üstlenen bir fonksiyondur.
EF Core tool'unu yapılandırmak için kullandığımız bir metottur.
Context nesnesinde override edilerek kullanılmaktadır.
protectedoverridevoidOnConfiguring(DbContextOptionsBuilderoptionsBuilder){
#region Yapılabilen Çalışmalar
//Provider //ConnectionString//Lazy Loading vb.
#endregion
optionsBuilder.UseSqlServer("Server = localhost; Database =ETicaretDb; Trusted_Connection = true;");}
Basit Düzeyde Entity Tanımlama Kuralları
EF Core : Bir tablo olacaksa her tablonun kesinlikle bir primary key kolonu olmalıdır diyor.
EF Core, her tablonun default olarak bir primary key kolonu olması gerektiğini kabul eder.
Haliyle, bu kolonu temsil eden bir property tanımlamadığımız taktirde hata verecektir.
Temel düzeyde yazmış olduğumuz property'inin primary key olabilmesi için bir gelenek vardır.Adı Id,ID,EntityId,EntityID olmalıdır ki EF hususi olarak primary key olarak belirleyecektir.
publicclassUrun{//public int ID { get; set; }//public int Id { get; set; }//public int UrunId { get; set; }publicintUrunID{get;set;}}
Entity dediğimiz yapılanma tekil isimli olur. Fıtrat olarak entity yeryüzünde bir olguyu modelleyen sınıftı. Haliyle modellemeyi yapan sınıfın kendisi tekil isimlendirmeyle tarif edilir. Bu sınıftan türetilen instance'lar o olgunun fiziksel haline karşılık gelir.
Tablo Adını Belirleme
DbSet Property'sinde property'e ne isim verirsek Tablo adıda o isim olmaktadır.
publicDbSet<Urun>Urunler{get;set;}
Örnek Kod
publicclassETicaretContext:DbContext{publicDbSet<Urun>Urunler{get;set;}protectedoverridevoidOnConfiguring(DbContextOptionsBuilderoptionsBuilder){
#region Yapılabilen Çalışmalar
//Provider //ConnectionString//Lazy Loading vb.
#endregion
optionsBuilder.UseSqlServer("Server = localhost; Database = ETicaretDb; Trusted_Connection = true;");}}publicclassUrun{//public int ID { get; set; }//public int Id { get; set; }//public int UrunId { get; set; }publicintUrunID{get;set;}}