.net Core ve EF Core ile MSSQL Bağlantısı Nasıl Yapılır?

Merhabalar bu yazı ile .net core projelerinize veri tabanı bağlantısını nasıl yapacağınızı basit ve sade bir şekilde anlattım umarım işinize yarar.

Takip edeceğimiz adımlar:

  1. Veri Tabanı Oluşturma
  2. Gerekli Paketleri Ekleme
  3. Context Dosyasının Oluşturulması
  4. Veri Tabanı Bağlantı Stringi
  5. Bağlantıyı Yapılandırma

1. Veri Tabanı Oluşturma

MSSQL üzerinde projeniz için bir veri tabanı oluşturun. Bunu MSSQL’i yönettiğiniz (MSSQL Management Studio, Azure Desktop vb.) herhangi bir uygulama ile yapabilirsiniz.

Database oluşturmak için Query:

2. Gerekli Paketleri Ekleme

NuGet paket yöneticisi veya terminal yardımı ile projenize Entity Framework Core‘u dahil etmemiz gerekiyor.

Entitiy Framework Core Nedir?

Entity Framework Core, ORM(object relational mapping) aracıdır. Veritabanı ile OOP arasındaki bağlantıyı sağlar. Karmaşık uzun SQL sorgularından kurtulur ve SQL sorgusu yazmadan program içerisindeki kodlar ile SQL üzerinde CRUD işlemleri yapabilirsiniz.

NuGet Paket Yöneticisi ile

NuGet Paket Yöneticisine kullandığınız IDE’ye göre farklı yollarla ulaşabilirsiniz.

Ben aktif olarak kullandığım Jet Brains’in Rider IDE’si üzerinden göstereceğim. Sol altta bulunan ikonlardan görselde mavi renk ile görünen ikon NuGet paket yöneticimiz.

Burada arama kısmına paket isimlerini tek tek yazıyoruz ve sürüm olarak Preview(Önizleme) sürümler dışındaki en son sürümü seçip paketleri kuruyoruz.

Yüklenmesi gereken paketler:

Terminal ile

dotnet add package Microsoft.EntityFrameworkCore.sqlserver
dotnet add package Microsoft.EntityFrameworkCore.Design
dotnet add package Microsoft.EntityFrameworkCore.Tools

3. Context Dosyasının Oluşturulması

Veri tabanı işlemlerinin yapıldığı dosyaya Context denilmektedir. Projemizde veri tabanı işlemlerini yapmak için bir context dosyası oluşturacağız ve bu context dosyası DbContext sınıfından miras alacak. Bu sayede bu class üzerinden veri tabanı işlemlerimizi yapacağız.

Projemizin içerisine Data adında bir klasör açıyoruz. Burada klasörümüze sağ tıklayıp “New File” veya Class diyerek yeni dosya oluşturuyoruz. Dosya adına AppDbContext.cs yazıyoruz İsterseniz Models klasörü altında da dosyamızı oluşturabilirsiniz.

Dosyamızın içerisine ise bu kodları yazacağız. (Data klasörünün altında oluşturduysanız proje adınızdan sonra “.Data” eklemeniz gerekiyor. Dosya adı olarak AppDbContext belirlemiştik. Farklı isim belirlediyseniz kod içerisinde düzeltmenizi yapın. Proje adınızı da değiştirmeyi unutmayın.

4. Veri Tabanı Bağlantı Stringi

MSSQL’ e bağlanmak için bir connection stringe ihtiyacınız var. Bu bağlantı stringi için buradan yardım alabilirsiniz.

Projemizdeki appsettings.json dosyasına bağlantı stringimizi { parantezinden hemen sonra şu şekilde ekliyoruz. Burada SqlCon daha sonra program.cs de belirteceğimiz isim olacak istediğiniz isimlendirmeyi yapabilirsiniz.

Benim bağlantı stringim “Server=localhost;Database=VeriTabaniAdi;Integrated Security=false;Encrypt=false;TrustServerCertificate=false;User Id=sa;Password=1234;”

5.Bağlantıyı Yapılandırma

SQL bağlantısını proje başlangıcında sağlamak için projemizde bulunan program.cs dosyasında “var builder = …” satırının altına bu kodu ekliyoruz. Bu kod da yer alan SqlCon bir önceki adım da eklediğimiz stringin adını temsil ediyor. Eğer ismi değiştirdiyseniz sizde ona göre burada değiştirmelisiniz. Aynı şekilde AppDbContext dosyasında farklı bir isim kullandıysanız onu da yine değiştirmeniz gerekiyor.

Bu kod EntityFrameWorkCore ile veri tabanı bağlantısını oluşturmamızı sağlıyor.

Projemiz artık MSSQL’e sorunsuz bir şekilde bağlanabilir. Bu bağlantıyı ve EF Core’u kullanarak CRUD (Create, read, update, delete) işlemlerini yapabilirsiniz.