Katmanın üzerine gelip sağ tıklayın add Class... tıkladıktan sonra class'a bir isim veriniz. Ben BlogContext verdim siz değiştirebilirsiniz.
Class oluşturduktan sonra bu Class'ı DbContext ' ten türetmelisiniz.
public class BlogContext : DbContext
{
}
İlk etapta altı çizili olacaktır. ctrl + . ya basıp Microsoft.EntityFrameworkCore usinglere eklenmesini sağlamanız gerekmektedir.
Sonraki adım;
Constructors oluşturup aşağıdaki gibi yazmalısınız.
Constructors oluşturmanın kısayolu ctor yazıp tab tuşuna bastığınızda Visual Studio otomatik olarak oluşturur.
public BlogContext(DbContextOptions<BlogContext> options) : base(options)
{
}
Sıra DbSet'leri nasıl yazacağımıza geldi.
Projenizde, direk CRUD işlemlerini yapmak istediğiniz Entity'leri buraya DbSet olarak yazmalısınız.
DbSetleri yazmanın kısa yolu prop yazıp taba basın ve gerekli yerleri değiştirmeniz yeterli.
Yazmadığınız Entity'lerle direk olarak CRUD işlemlerini yapamayacaksınız. Sql'e bir sorgu attığınızda arka tarafta buradaki DbSetlere bakıyor ve işlem yapılıyor.
public DbSet<_Entity_Class> Tablo_Adı{ get; set; }
Yukarıdaki kodda _Entity_Class yazan yere entity class'ının adı yazılmalıdır. Tablo_Adı yazan yere ise veritabanında oluşacak tablonun ismi çoğul olarak yazılmalıdır. Standartlar gereği burada türkçe karakter kullanmamanızı tavsiye ederim.
Class'ın içindeki bütün kodlar aşağıdaki gibi olmalıdır.
using CodeFirstMigration.Entity;
using Microsoft.EntityFrameworkCore;
namespace CodeFirstMigration.Data
{
public class BlogContext : DbContext
{
public BlogContext(DbContextOptions<BlogContext> options)
: base(options)
{
}
public DbSet<_Entity_Class> Tablo_Adı { get; set; }
public DbSet<_Entity_Class> Tablo_Adı { get; set; }
public DbSet<_Entity_Class> Tablo_Adı { get; set; }
.
.
.
}
}
Bu işlemler bittiğinde projenizi derleyin hata yok ise Migration nasıl yapılacağı hakkında yazdığım makaleyi BURADAN okuyarak yapabilirsiniz.