.Net Core Entity Framework Core Code First

Katmanlı mimaride .Net Core için Entity Framework Core nugetini code first olarak nasıl ekleyecebileceğinizi göstereceğim. Öncelikle bir adet Blank Solution oluşturuyoruz.

Daha sonra Blank Solutiona sağ tık yapıp Add -> New Project diyerek Class Library (.Net Standart) ekliyoruz. Adını Entities olarak veriyorum.

Aynı şekilde bir Class Library (.Net Standart) daha ekleyerek adına DataAccess diyorum. Ve Solution Explorer görünümü aşağıdaki şekilde oluyor.

Entities katmanı bizim için veritabanı tablolarımızın nesnelerini tutacak. İçindeki Class1‘i silip yerine Personel isminde bir class ekleyelim ve içeriği aşağıdaki şekilde olsun.

using System;
using System.Collections.Generic;
using System.Text;

namespace Entities
{
    public class Personel
    {
        public int PersonelId { get; set; }
        public string Name { get; set; }
        public string Surname { get; set; }
    }
}

DataAccess katmanı da bizim veritabanı bağlantı contextimizi tutacak katman olacak. Ama öncelikle DataAccesse sağ tık yapıp Manage Nuget Packages diyerek nuget penceresini açıyoruz. Ve aşağıdaki paketleri kuruyoruz.

Microsoft.EntityFrameworkCore / Microsoft.EntityFrameworkCore .SqlServer / Microsoft.EntityFrameworkCore.Tools

DataAccess‘te bulunan Class1‘i silip yerine yeni bir class ekliyoruz. Adı DatabaseContext olsun. Class içeriğini aşağıdaki gibi ayarlıyoruz.

using Entities;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Text;

namespace DataAccess
{
    public class DatabaseContext: DbContext
    {
        const string connectionString = "Server=E-NB468\\SQLEXPRESS;Database=TestDb;Trusted_Connection=true";

        public DatabaseContext() : base() { }

        public DatabaseContext(DbContextOptions<DatabaseContext> options) : base(options) { }
        public DbSet<Personel> Personels { get; set; }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseSqlServer(connectionString);
        }
    }
}

ConnectionStringi kendi veritabanınıza göre ayarlayın. Database olarakta ne isim vermek istiyorsanız ona göre değiştirin.

Artık son işlem adımına geliyoruz. DataAccesse sağ tıklayıp Edit File Project diyoruz. Default olarak aşağıdaki gibi geliyor.

Default

Siz hangi .Net Frameworkü ile çalışacaksanız onu TargetFramework olarak eklemelisiniz. Framework Listesi için buraya tıklayın.

Ben .Net Core 3.1 ile çalışacağım için Targete onu ekliyorum ve son hali aşağıdaki gibi oluyor.

.Net Core 3.1 için

Artık Migrationumuzu aktif hale getirip veritabanımızı oluşturma zamanımız geldi. Bunun için Tools -> Nuget Package Manager -> Package Manager Console tıklıyoruz.

Sorun çıkmaması için DataAccesse sağ tıklayıp Set as Default Project yapın. Ve “Add-Migration Initial” komutunu çalıştırın.

Komutu çalıştırdıktan sonra Migrations klasörü oluşmuş olacaktır. Son olarak aynı yere “update-database” yazarak veritabanımızın oluşmasını sağlıyoruz.

Eğer herhangi bir class ekler, siler ya da herhangi bir property ekler, siler, değiştirirseniz öncelikle Package Manager Console’ye “Add-Migration HerhangiBirİsim” diyerek entere basıp daha sonra da “update-database” komutunu çalıştırırsanız veritabanınız güncellenecektir.

Furkan Aktaş

Bilgisayar Mühendisiyim. Microsoft MCSA Web Applications Sertifikasına Sahibim. Aktif iş hayatımda Full Stack .Net Developer olarak çalışmaktayım.

2 thoughts on “.Net Core Entity Framework Core Code First

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir