İnşaat proje yönetimi, bir profesyonel yönetim süreci olup, ilk düşünceden itibaren işin tamalanıp malsahibine fiziksel olarak teslim edilinceye kadar geçen süreç içinde süre, maliyet ve kalite kontrolü için hazırlanan prosedürler bütünüdür. Günümüzde var olan inşaat süreçleri ve istekler daha kapsamlı hale geldiğinden ötürü kompleks yapılar ortaya çıkmakta ve bu kompleks...
Single, SingleOrDefault,First,FirstOrDefault,Find Nedir?
EF Core ‘da Single , SingleOrDefault , First , FirstOrDefault , Find , Last ve LastOrDefault nasıl kullanılır ve mantığı nedir aşağıda inceleyelim.
//Yapılan sorguda sade ve sadece tek bir verinin gelmesi amaçlanıyorsa Single ya da SingleOrDefault fonksiyonları kullanılabilir. Tekil bir verinin geleceğinden eminsek single ve singleordefault kullanılır. 1//SingleAsync //Eğer ki, sorgu neticesinde birden fazla veri geliyorsa ya da hiç gelmiyorsa her iki durumda da exception fırlatır. #region Tek Kayıt Geldiğinde //var urun = await context.Urunler.SingleAsync(u => u.Id == 55); -> İşlem başarılı #endregion #region Hiç Kayıt Gelmediğinde //var urun = await context.Urunler.SingleAsync(u => u.Id == 5555); -> Exception fırlatır #endregion #region Çok Kayıt Geldiğinde //var urun = await context.Urunler.SingleAsync(u => u.Id > 55); -> Exception fırlatır 2//SingleOrDefaultAsync //Eğer ki, sorgu neticesinde birden fazla veri geliyorsa exception fırlatır, hiç veri gelmiyorsa null döner. #region Tek Kayıt Geldiğinde //var urun = await context.Urunler.SingleOrDefaultAsync(u => u.Id == 55); -> İşlem başarılı #endregion #region Hiç Kayıt Gelmediğinde //var urun = await context.Urunler.SingleOrDefaultAsync(u => u.Id == 5555); -> Null döner #endregion #region Çok Kayıt Geldiğinde //var urun = await context.Urunler.SingleOrDefaultAsync(u => u.Id > 55); ->Exception fırlatır #endregion ---------- //Yapılan sorguda tek bir verinin gelmesi amaçlanıyorsa First ya da FirstOrDefault fonksiyonları kullanılabilir. Veritabanında birden fazla Mert değerine tekabül eden değerlerden bir tanesini elde etmek istiyorsak kullanılabilir. 3//FirstAsync //Sorgu neticesinde elde edilen verilerden ilkini getirir. Eğer ki hiç veri gelmiyorsa hata fırlatır. #region Tek Kayıt Geldiğinde //var urun = await context.Urunler.FirstAsync(u => u.Id == 55); -> Veriyi getirir #endregion #region Hiç Kayıt Gelmediğinde //var urun = await context.Urunler.FirstAsync(u => u.Id == 5555); -> Exception fırlatır #endregion #region Çok Kayıt Geldiğinde //var urun = await context.Urunler.FirstAsync(u => u.Id > 55); -> Id 55 den büyük bir çok data olduğundan ilk 56 Id li datayı getirir. (gelen kayıtlardan ilki ) 4//FirstOrDefaultAsync //Sorgu neticesinde elde edilen verilerden ilkini getirir. Eğer ki hiç veri gelmiyorsa null değerini döndürür. #region Tek Kayıt Geldiğinde //var urun = await context.Urunler.FirstAsync(u => u.Id == 55); -> Veriyi getirir #endregion #region Hiç Kayıt Gelmediğinde //var urun = await context.Urunler.FirstAsync(u => u.Id == 5555); -> Null döndürür #endregion #region Çok Kayıt Geldiğinde //var urun = await context.Urunler.FirstAsync(u => u.Id > 55); -> Id 55 den büyük bir çok data olduğundan ilk 56 Id li datayı getirir. (gelen kayıtlardan ilki ) 5//FIND //Find fonksiyonu, primary key kolonuna özel hızlı bir şekilde sorgulama yapmamızı sağlayan bir fonksiyondur. //Urun urun = await context.Urunler.FirstOrDefaultAsync(u => u.Id == 55); //Urun urun = await context.Urunler.FindAsync(55); 6//Last //Sorgu neticesinde gelen verilerden en sonuncusunu getirir. Eğer ki hiç veri gelmiyorsa hata fırlatır. OrderBy kullanılması mecburidir. //var urun = await context.Urunler.OrderBy(u => u.Fiyat).LastAsync(u => u.Id > 55); 7//LastOrDefault //Sorgu neticesinde gelen verilerden en sonuncusunu getirir. Eğer ki hiç veri gelmiyorsa null döner. OrderBy kullanılması mecburidir. //var urun = await context.Urunler.OrderBy(u => u.Fiyat).LastOrDefaultAsync(u => u.Id > 55);
ÖNCEKİ KONU
Bir Yorum Yazın
Ziyaretçi Yorumları - 0 Yorum