Başlangıçta Neler Oluyor?
Diyelim ki yeni bir ASP.NET Core projesi başlatıyorsunuz ve hemen hemen her şey yolunda gidiyor. Herhangi bir sorun yok, veritabanınızı da başarıyla bağladınız. Ancak birdenbire, kodu çalıştırdığınızda bir hata alıyorsunuz: ‘Database Context Not Found’.
Peki, bu hata ne anlama geliyor? Aslında bu hata, ASP.NET Core uygulamanızın Entity Framework ile bağlanmaya çalıştığı Database Context'i bulamamasından kaynaklanıyor. Yani veritabanı ile bağlantı sağlanamıyor ve genellikle şu iki sebepten biri yüzünden gerçekleşiyor:
Hata Sebepleri ve Çözüm Yolları
1. Database Context'i Yanlış Tanımladınız
En sık karşılaşılan sebeplerden biri, DbContext sınıfını doğru şekilde tanımlamamanız. Eğer `Startup.cs` veya `Program.cs` dosyanızda DbContext'i doğru bir şekilde kaydetmediyseniz, ASP.NET Core bunu bulamaz ve hata verir.
Çözüm: DbContext sınıfınızı doğru şekilde kaydetmek için, aşağıdaki gibi `ConfigureServices` metoduna DbContext eklemelisiniz:
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
}
Bu işlem, ApplicationDbContext'i doğru bir şekilde kaydeder ve bağlantı dizesi ile veritabanına bağlanmanıza yardımcı olur.
2. Bağlantı Dizesi Hatalı
Bir diğer yaygın sebep, bağlantı dizesinin yanlış yapılandırılmasıdır. Yanlış bir bağlantı dizesi kullanırsanız, uygulama DbContext'e bağlanamaz ve bu hatayı alırsınız.
Çözüm: `appsettings.json` dosyasını kontrol edin ve doğru bağlantı dizesinin tanımlandığından emin olun:
{
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=MyAppDb;Trusted_Connection=True;MultipleActiveResultSets=true"
}
}
Buradaki DefaultConnection kısmını, kullanmakta olduğunuz veritabanına göre güncellemeniz yeterli olacaktır.
3. DbContext'in Kendi Kütüphanenizde Bulunmaması
Eğer DbContext'i başka bir sınıf ya da kütüphaneye taşımışsanız, bu kütüphanenin doğru bir şekilde projeye dahil edilmediği durumlar da bu hatayı tetikleyebilir.
Çözüm: Projeye tüm gerekli kütüphanelerin eklendiğinden ve bağımlılıkların doğru bir şekilde yapılandırıldığından emin olun. Eğer kütüphaneniz ayrı bir proje olarak tanımlandıysa, o projeyi doğru bir şekilde referans olarak eklemelisiniz.
Sonuç Olarak
“Database Context Not Found” hatası bazen gözünüzde büyüyebilir, ancak aslında çözümü oldukça basittir. Çoğunlukla, doğru yapılandırmalarla ve doğru bağlantı dizesi ile bu hatayı çözebilirsiniz. İster küçük bir hata yapmış olun, ister bağımlılıkları yanlış ayarlamış olun, çözüm sadece birkaç adım uzağınızda.
Umarım bu yazı, yaşadığınız hatayı hızlıca çözmenize yardımcı olur! Şimdi, bir sonraki projede rahatça veritabanı işlemlerinizi yapabilir ve bu tür hatalardan korkmazsınız. Unutmayın, her hata bir öğrenme fırsatıdır!