M E D Y A T Ö R

Kusursuz Senkronizasyon: .NET Core MVC’de DbContextOptionsBuilder ile Performansın Kilidini Açın

  • 21

    KASIM

    2024


  • Görüntülenme

Veritabanı işlemlerinde performans, güvenilirlik ve esneklik sağlamak, her .NET geliştiricisinin hedeflerinden biridir. Peki, bu hedefe ulaşmada DbContextOptionsBuilder nasıl bir rol oynuyor? DbContextOptionsBuilder, Entity Framework Core’da veritabanı bağlantınızı yapılandırmanıza olanak tanır ve uygulamanızın veritabanı bağlantısı üzerinde tam kontrol sağlar.


DbContextOptionsBuilder Nedir?

DbContextOptionsBuilder, Entity Framework Core ile gelen, veritabanı bağlantınızı yapılandırmanıza olanak tanıyan bir yardımcı sınıftır. Bu yapılandırma sayesinde, bağlantınızın hangi sağlayıcı ile çalışacağını, veritabanı işlemlerinin nasıl yapılacağını ve hatta hata ayıklama özelliklerini belirleyebilirsiniz. Özetle, DbContextOptionsBuilder, veritabanı işlemlerini yapılandırmanız için ihtiyaç duyduğunuz anahtar işlevleri sağlar.

 

DbContextOptionsBuilder ile Ne Yapabilirsiniz?

DbContextOptionsBuilder ile:

1.     Veritabanı Sağlayıcısını Belirleyebilirsiniz: Örneğin, SQL Server, PostgreSQL, SQLite gibi farklı veritabanı sağlayıcıları arasında kolayca geçiş yapabilirsiniz.

2.     Bağlantı Dizesini Ayarlayabilirsiniz: Veritabanına erişim için gerekli olan bağlantı dizesini ayarlayabilirsiniz.

3.     Hata Ayıklama Özelliklerini Etkinleştirebilirsiniz: Hangi SQL komutlarının çalıştırıldığını görmek için hata ayıklama araçlarını kullanabilirsiniz.

4.     Veritabanı Davranışlarını Özelleştirebilirsiniz: Örneğin, Lazy Loading veya EagerLoading gibi yükleme stratejilerini belirleyebilirsiniz.



DbContextOptionsBuilder Nasıl Kullanılır?

DbContextOptionsBuilder’ı kullanmak oldukça basittir. Aşağıdaki adımları izleyerek .NET Core MVC projenize entegre edebilirsiniz.




1.     Bağlantı Dizisini Ayarlayın: appsettings.json dosyanızda veritabanı bağlantı dizesini belirtin. Örneğin:

 

{
        "ConnectionStrings": {
          "DefaultConnection": "Server=.;Database=YourDatabase;Trusted_Connection=True;"
        }
      }


 

2.     Startup.cs’de DbContext Yapılandırmasını Ekleyin:


   public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext<YourDbContext>(options =>
        options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
    services.AddControllersWithViews();
}



  Burada, YourDbContext sınıfınızda UseSqlServer metodu kullanılarak SQL Server için bağlantı yapılandırması yapılmaktadır.

3.      DbContext Sınıfınızı Tanımlayın:


  public class YourDbContext : DbContext
    {
        public YourDbContext(DbContextOptions<YourDbContext> options) : base(options) { }
   
        public DbSet<YourEntity> YourEntities { get; set; }
    }




DbContextOptionsBuilder ile Performans Optimizasyonları

1.     Lazy Loading Kullanımı:

  • Lazy Loading, ilişkili verilerin yalnızca gerektiğinde yüklenmesini sağlar. Bu yöntem, gereksiz veri çağrılarını engelleyerek performansı artırır.


  options.UseLazyLoadingProxies();

 

2.     Query Tracking’i Devre Dışı Bırakmak:

  • Entity Framework, varsayılan olarak tüm sorguları izler. Ancak, veriyi yalnızca okumak istiyorsanız, sorgu izlemeyi devre dışı bırakarak performansı artırabilirsiniz.


    options.UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking);

 

3.     Veritabanı Sağlayıcısına Özel Ayarlar:

  • Örneğin, SQL Server’da UseSqlServer metodu içinde MaxBatchSize gibi seçeneklerle performansı artırabilirsiniz.


    options.UseSqlServer(connectionString, sqlOptions => sqlOptions.MaxBatchSize(100));




 

DbContextOptionsBuilder Kullanmanın Faydaları
  • -Esneklik Sağlar: Farklı veritabanı sağlayıcıları ve bağlantı stratejileri arasında kolay geçiş yapabilirsiniz.
  • -Performans Artışı Sunar: Sadece ihtiyacınız olan verileri ve stratejileri belirleyerek, gereksiz veri çağrılarından kaçınabilirsiniz.

-Hata Ayıklamayı Kolaylaştırır: Veritabanı bağlantınızı yapılandırarak hangi sorguların çalıştırıldığını takip edebilir, daha hızlı hata ayıklayabilirsiniz.


DbContextOptionsBuilder, .NET Core MVC uygulamalarınızda veritabanı bağlantınızı tam anlamıyla kontrol altına almanız için güçlü bir araçtır. Doğru kullanıldığında uygulamanızın performansını optimize eder, esneklik sağlar ve kodunuzu daha sürdürülebilir hale getirir.



Cr: youtube/@Tech Buddy / DbContext | Entity Framework Core Tutorial | Dotnet
https://www.youtube.com/watch?v=V3PQfPbyxOQ