DMCA.com Protection Status Code First Veritabanı İşlemleri - Bilişim Eğitim Merkezi
Anasayfa / Yazılım 360 Eğitimleri / Code First Veritabanı İşlemleri

Code First Veritabanı İşlemleri

Code first ile veri tabanı işlemlerini sadece visual studio ortamında yazmış olduğumuz class’ları(sınıf) modelleyerek veri tabanı tarafındaki tablo ya da tablolara dönüştüreceğiz. Entity Framework modelleme tiplerinden birisi olan Code First yaklaşımındaki temel amaç hızlı ve efektif şekilde oluşturduğumuz model class’larını projemizde birer tablo (veri kümesi) gibi kullanıp veri tabanı işlemlerini yürütmektir.

Visual studio ile yazdığımız tablo görevini yapacak bu sınıf modellerini veri tabanına eklemek ya da kod tarafında bu sınıflar üzerinde yapılan bir değişiklikten veri tabanının haberdar olabilmesi için Migration kullanacağız.

Code First yaklaşımında belirli aşamaları bir örnekle hep birlikte yapalım. Böylece daha anlaşılacağını düşünüyorum.

Yapılacaklar

  • NuGet paket yükleyicisinden Entity Framework’ü yükleyerek, projemize paket olarak dahil edelim.
  • Tablo gibi kullanacağımız sınıflar oluşturalım.

public class Book

{

public int BookId { get; set; }

public string Name { get; set; }

public Detail Detail { get; set; }

public int CategoryId { get; set; }

public virtual Category Category { get; set; }

}

public class Detail

{

public string Author { get; set; }

public int PageSize { get; set; }

 

}

public class Category

{

public int CategoryID { get; set; }

public string Name { get; set; }

public string Description { get; set; }

public ICollection<Book> Book { get; set; }

}

 

  • Her bir tablo görevi yapacak sınıflarımızın Fluent Api kullanarak mapping  konfigürasyonunu yapalım.( oluşturduğumuz class’ların veri tabanındaki karşılıklarını verip konfigürasyonu yapabileceğimiz bir konfigürasyon dosyası.)

fluent api kullanarak Category Sınıfı için hazırlamış olduğum konfigürasyon dosyası(CategoryMaps.cs)

fluent api kullanarak Book Sınıfı için hazırlamış olduğum konfigürasyon dosyası(BookMaps.cs)

  • DbContext sınıfından kullanabileceğimiz veri tabanına bağlanıp veri tabanı işlemlerini yerine getirecek bir context sınıfı oluşturacağız.(projemizde ben bu sınıfa Db adını vereceğim)
  • DbContext sınıfımızda DbSet ile oluşturduğumuz sınıfları tablo olarak işaretleyelim.
  • OnModelCreating metodunda DBModelBuilder sınıfından modelBuilder adında bir sınıfı kullanaraktan resimdeki gibi model oluşturulurken yapılacak olan konfigürasyonlarımızı yazıyoruz.

  • Db ismindeki context sınıfımızda, Config dosyasında bir Connection String oluşturup oradaki verdiğimiz connection adını belirtelim.

Data Source->sizin veritabanı sunucu adınız.

Initial Catalog_>veritabanı adınız.(siz ne verirseniz o isimde bir veri tabanı oluşturulur.)

  • Tools menüsü NuGet Package Manager->Package Manager Console tıklanıp konsol ekranı açılır. Buradan Add-Migrations komutu verilir. komut çalıştıktan sonra projemize Migrations klasörü içinde configration.cs dosyası oluşturulur. Update-database –Verbose komutu ile artık database oluşturulmuş olur. Sınıflarınızda yapacağınız bir değişklik varsa değişkliği yapıp aşağıdaki gibi PM(package manager console)’den Update – database –verbose komutu verilir.

Sql Server Management Studio aracılığıyla oluşturulan veri tabanımız kontrol ediyoruz. Aşağıdaki resimde görüldüğü üzere bir de migrationHistory tablosu oluşturulmuş. Diğer resimde ise oluşturulan tablolar arasındaki ilişkiyi gösteren diyagramı görünmekte.

Artık controller oluşturarak Db ismindeki context sınıfımızı kullanarak category sınıfımıza (tablomuza) erişip  çeşitli action(işlemler) yapabiliriz. Default isminde bir Controller yapıp aşağıdaki gibi Index ve Create action oluşturalım.

 

Hakkında bilisimegitim

Ayrıca Kontrol Edin

Entitiy Framework kullanmadan MVC CRUD işlemleri

Makale serimizin birinci bölümünde  Entity Framework kullanmadan CRUD işlemlerinin Create ve Read işlemlerini Kategori örneği …

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Eğitimler İçin Arayın!