Asp.Net Core EF Code First Örneği


Asp.Net Core EF Code First Örneği


Database CRUD işlemleri için kullandığımız ORM aracı Entity Framework'un yaklaşım olarak farklı teknikler sunuyor. Bunlardan birisi Code First. Code First ile önce database'i entity modelleri ile oluşturuyor daha sonra database tarafına create ediyoruz. Bunun kendi içinde avantaj ve dezavantajları mevcut. Yazıda bunları değiniyorum.


Entity Framework Code First Nedir ?


Geleneksel yöntemlerden farkı veritabanı şemasının önce proje üzerinde modellenmesi olarak söyleyebilirim. Avantajı veritabanı ve proje arasındaki bağımlılık minimize edilir, kod yazarken tüm db ve entity şeması elinizin altında olduğu için daha efektif kod yazabilirsiniz.

Bir diğer avantajı farklı bir veritabanı ile çalışmak istediğiniz durumda bir satır kod ile tüm şema hedef db de oluşturulabilir.

Dezavantajı yok mu ? Evet var. Özellikle çok büyüyen ve aynı projede 10-20 kişi çalışmaya başladığında db modelinde yapılan özellikle isim ve alan tipi değişiklikleri büyük sorunlara yol açabilir. Bunun için ekipler önlem almalı.


Code First Yapısının Kurulması


*Geliştirmeleri .Net Core 3.0 ve Visual Studio 2019 ile gerçekleştiriyorum.


Projenize arayüz veya konsol üzerinden aşağıdaki Entity Framework paketlerini eklemeniz gerekiyor

Install-Package Microsoft.EntityFrameworkCore.SqlServer
Install-Package Microsoft.EntityFrameworkCore.Tools



Şimdi kendi DbContext yapımızı ve tablolara denk gelen entity modellerini oluşturacağız. Kodları takip edin.



Son olarak Asp.Net Core projemizin Startup.cs sınıfında sql bağlantısını ayarlayacağız. Startup.cs , başlangıç sınıfı hizmetleri ve uygulamanın istek kanalını (pipeline) yapılandırır.



Şuan genel hatlarıyla tamamlandı. Fakat halen kullanacağımız veritabanına modelleri göndermedik. Bunun için aşağıdaki iki satırlık kodu nuget komut satırına yazacağız İlk satır db şemasını oluşturan bir dizi kod oluşturacak, ikinci satır ise migration dosyasını db ye gönderecek. Böylece code first örneğimiz tamamlanacak.

Add-Migration Initial
Update-Database



Hata almamanız gerekiyor. Eğer bir durum oluşursa yorum olarak yazabilirsiniz , iyi çalışmalar...

Yorumlar

Bu blogdaki popüler yayınlar

Asp.Net Mvc Bundle Kullanımı

Asp.Net Web Güvenliği : SQL Injection

Brackets Eklentileri