Hasan Akpürüm
blog-post-1

Ef Core Triggers Kullanımı

Merhaba arkadaşlar,

Bir önceki makalemizde Ef Core Auto Histroy anlatmıştım. Bu makalemde ise Ef Core üzerindeki trigger lara değineceğim. Kısaca özetmek gerekirse aslında yapacağımız İşlem Audit işlemi. Yani verilerin ekleme ve güncellenme tarihlerini otomatik olarak uygulayacağız. Ama bu işlemleri DbContext imiz üzerinde Trigger lar ile sağlayacağız.

Öncelikle projemize package console dan

install-package EntityFrameworkCore.Triggers

kütüphanesini ekliyoruz. Ben projeye önceki makalemdeki Auto History üzerinden gittim her iki özellikte olacak o yüzden.

SampleDbContext imizi artık DbContext ten değil DbContextWithTriggers dan miras alacağız.

Sonrasında SaveChanges method larımızı ezeceğiz ve bunun yerine SaveChangesWithTriggers kullanacağız.

Artık DbContext üzerinde trigger larımız yakalamaya hazır. Ama bunun için Trackableisimli bir class açtım ben siz istediğiniz ismi verebilirsiniz. Bu class da trigger ile otomatik olarak etkilenecek alanlarımı tanımladım ve constructor da insert ve update işleminde set edilecek değerlerini belirledim.

Artık Trackable sınıfını miras alan sınıflarım bu trigger işlemine dahil olacaktır.

Yeni bir kayıt ekleniyorsa Inserted kolonuna değerler siz set etmediğiniz halde otomatik olarak set edilecektir. Güncelleme işleminde ise Updating kolonu otomatik olarak set edilecektir.

Umarım faydalı bir makale olmuştur.

Saygılarımla

Github

Yorum Yaz