Ara

C# İle Mysql Entegrasyonu: Entity Framework Kulanımı (Adım Adım Anlatım)

C# ile uygulama geliştirirken genellikle MSSQL veritabanı tercih edilir. Ancak bazı durumlarda farklı bir veritabanı kullanmak gerekebilir. Örneğin, hostunuzda hem MSSQL hem de MySQL veritabanı kullanma hakkınız varsa, yeni bir veritabanı oluştururken MySQL veritabanını tercih edebilirsiniz. Ayrıca, maliyetleri düşürmek amacıyla müşteriniz MySQL veritabanını kullanmanızı isteyebilir. Bu makalede, Entity Framework (Code First) ORM kullanılarak MySQL veritabanı üzerinde nasıl işlem yapılacağını detaylı bir şekilde inceleyeceğiz.

 

Entity Framework ile MySQL Kullanımı

Entity Framework, veritabanı işlemlerini daha kolay ve hızlı hale getiren bir ORM aracıdır. SQL komutları ile CRUD (Create, Read, Update, Delete) işlemlerini gerçekleştirmek zahmetli olabilirken, ORM kullanarak bu işlemler çok daha basit hale gelir. Şimdi adım adım Entity Framework kullanarak MySQL veritabanı üzerinde nasıl işlem yapılacağını inceleyelim.

 

1. NuGet Paketi Ekleme

İlk adım olarak, MySQL veri sağlayıcısını projemize dahil etmemiz gerekiyor. Bunun için MySql.Data.EntityFramework paketini NuGet Package Manager üzerinden projemize ekleyelim.

Install-Package MySql.Data.EntityFramework -Version 8.0.28

 

2. Konfigürasyon Dosyasını Güncelleme

Projeye dahil ettiğimiz paketi kullanabilmek için App.config veya Web.config dosyasını aşağıdaki şekilde güncelleyelim.

<entityFramework>
    <defaultConnectionFactory type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.EntityFramework, Version=8.0.28, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
    <providers>
        <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
        <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.EntityFramework, Version=8.0.28, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
    </providers>
</entityFramework>

<connectionStrings>
    <add name="EfContext" providerName="MySql.Data.MySqlClient" 
         connectionString="server=serverAdı;port=3306;database=veritabaniAdi;uid=kullaniciAdi;pwd=parola;" />
</connectionStrings>

Not: providers bölümünde bulunan versiyon numaralarını, indirdiğimiz kütüphanenin sürümüne göre değiştirmeyi unutmayın. Farklı versiyonlar hataya sebep olabilir.

 

3. MySQL Connector Kurulumu

Son olarak, MySQL veri sağlayıcısını sistemimize eklememiz gerekiyor. Bunun için mysql-connector-net-8.0.28 sürümünü internetten indirip cihazımıza kurmalıyız.

 

4. EfContext Sınıfını Oluşturma

Veritabanına bağlanmak için gerekli olan EfContext adlı sınıfımızı aşağıdaki gibi oluşturup düzenleyelim.

public class EfContext : DbContext
{
    public EfContext() : base("name=EfContext")
    {
        Database.SetInitializer<EfContext>(null);
    }

    public DbSet<Kullanici> Kullanicilar { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
        base.OnModelCreating(modelBuilder);
    }
}

 

5. Verileri Çekme

Artık verilerimizi çekebiliriz. Aşağıdaki kod parçası ile Kullanicilar tablosundaki verileri listeleyebiliriz.

using (var context = new EfContext())
{
    var kullanicilar = context.Kullanicilar.ToList();
}

 

Dikkat: MySQL veritabanı sunucunuzun güncel olması gerekmektedir. Minimum versiyonun 6.0 olması gerekmektedir. Aksi halde sunucuya bağlantı sağlanamayabilir. Eğer hostunuzdaki MySQL sunucusu belirtilen versiyondan daha düşükse, destek ekibine başvurup güncellenmesini isteyebilirsiniz. Bu durumda tüm verilerinizin yedeğini almayı unutmayın.

Entity Framework kullanarak MySQL veritabanı işlemlerini bu şekilde gerçekleştirebilirsiniz. Bu yöntemle, veritabanı işlemleriniz daha hızlı ve hatasız olacaktır. Umarım bu rehber işinize yarar. Hepinize iyi çalışmalar dilerim.

Author

Bilgisayar programcılığı bölümü mezunuyum. Web ve masaüstü uygulama geliştiricisiyim. C#,.Asp.Net Core, JQuery, Ajax, Entity Framework konularında bilgi sahibiyim. Bu sitenin kurucusuyum . Aynı zamanda şiir yazmayı seven birisiyim. 2023 yılında "Gökkuşağının Koyu Tonu" adlı ilk şiir kitabım yayınlandı. Yazmaya devam ediyorum.
Yorum Yap
Yorumlar (0)