First , FirstOrDefault , Single , SingleOrDefault , Where ve Find Arasındaki Farklılıklar Nelerdir ?

Herkese Selamlar ! Uzun zaman oldu sizler ile görüşmeyeli ama iş ve okulda işlerim baya yoluna girdi ve artık blog sayfam için daha fazla vakit ayırabileceğim. Peki neden bahsedeceğiz bugün ona bir bakalım. Bugün sizlere arkadaşlar özellikle entity framework içerisinde çok kullandığımız First , FirstOrDefault , Single , SingleOrDefault , Where ve Find arasındaki farklılıklara bir göz atacağız. Ciddi anlamda entity framework içerisinde kullanıyoruz bu keywordleri. Genel olarak ise bunların hepsinin aynı işe yaradığı söylenmekte aynı zamanda ise yine aynı kişiler hepsi benzer işe yarıyorsa neden 5 farklı method şeklinde yer almakta bunlar diye sormaktalar. Aklımızda ki bu soru işaretlerini ortadan kaldırmak için bu yazıyı yazmaya karar verdim bende.

 

 

First() : Elimizde bir grup veri olsun ve biz bunun içerisinde entity framework kullanarak veri çekecek olalım. Bir grup veri içerisinden istediğimiz şartları sağlayan ilk sırada ki veriyi çekip getirmesi durumudur.

FirstOrDefault(): FirstOrDefault() tamamen  First() mantığı ile çalışan bir methoddur. First methodundan tek farkı ise belirtilen yani tam olarak elde etmek istenen veri bulunamadıysa exception fırlatmaktansa o verinin tipinde varsayılan değer döndürmesi durumudur mesela elde etmek istediğimiz veri sayısal bir ifade ise tipinin integer olduğunu varsayarsak exception  yerine integerin varsayılan değeri olan sıfırı elde etmemizi sağlar. Bu sayede uygulamamız hata almadan yoluna devam eder.

Single(): Veri kaynağından talep etmiş olduğumuz isteğin sonucunda kesinlikle 1 tane eleman elde edeceğimiz garanti ise , bu durumda single kullanabiliriz ama birden fazla eleman dönerse o zaman exception fırlatacaktır.

SingleOrDefault(): Mantık yine yukarıda yazmış olduğumuz şekli ile aynı aslında. Yine bir grup veri içerisinden sadece istediğimiz şartlar altında tek bir verinin dönmesini istiyorsak ve o esna da öyle bir veri yok ise verinin tipi doğrultusunda varsayılan değer döndürülecektir.

Where(): Aramızda herhangi bir sql kullanarak database üzerinde query yazanlar varsa bilirler. Query içerisinde yazmış olduğumuz şart mantığının birebir aynı durumu burası içinde söz konusudur. Yazmış olduğumuz veri içerisinde şartımız var ise bunu where sayesinde gerçekleştirebiliriz. Where kullanırken şunu kesinlikle unutmamalıyız ! Hangi sütun içerisinden veri çekmek istiyorsak ona özgü olarak şart satırını yazmamız gerekmekte.

Find():  Son olarak find methoduna değineceğiz sizler ile. Bu methodun çalışma mantığı aslında ciddi anlamda kolaydır ve dertsiz bir methoddur. Find methodu sadece ve sadece database tabloları üzerinde yer alan primary keyler üzerinde Türkçesi ile birincil anahtarlar üzerinde çalışarak veriyi getirir.

Aşağıda gerçekten işe yarayacağın düşündüğüm bir tablo hazırlıyorum sizler için tablo tamamen First , FirstOrDefault , Single ve SingleOrDefault çalışma mantığını özet olarak bizlere sunmaktadır bilgilerinize….

Method Başarılı Olma Durumu… Hata Fırlatma Durumu…
First() 1..* – element ile eşleşirse 0 element ile eşleşirse
FirstOrDefault() 0..* – element ile eşleşirse (exception fırlatmaz)
Single() 1..1 –Bir Elementle eşleşirse 0 | >1 –Elementle eşleşirse
SingleOrDefault() 0..1 –Elementle eşleşirse >1 –Elementle eşleşirse

 

Bu yazılık bu kadar ! Yazıyı yazarken ise msdn.com sitesinden faydalandım tam post ederken dinlediğim şarkı ise The White Buffalo-House of the Rising Sun

Yazımı okuduğunuz için teşekkürler bir sonra ki yazıda görüşmek üzere !!!

2 Responses to First , FirstOrDefault , Single , SingleOrDefault , Where ve Find Arasındaki Farklılıklar Nelerdir ?

  1.  

    Harika bir yazı.

  2. teşekkür ederim =)

     

leave your comment

EnglishGermanTurkish