Linq – Entity Framework Select ve Where İşlemleri


Linq bir .NET yazılım geliştiricinin hayatını oldukça kolaylaştıran frameworklerden bir tanesidir. Database sorgularını daha anlaşılır ve daha kolay bir seviyeye indirir, beraberinde gelen methodlarla karmaşık işleri bir kaç satır kod ile çok kolayca halletmemize yardımcı olur. Syntax yapısı ile kodun daha derli toplu görünmesini ve kolay anlaşılır olmasını sağlar. Hele birde Entity Framework ile beraber kullanıyorsanız değmeyin keyfinize 🙂 bu liste böylece uzar gider…

Yukarıda anlattığım kolaylıkları kod yazarken de görebiliyor muyuz bir bakalım 🙂

Şimdi basitçe Entity Framework ile bir Linq “select” ve “where” sorgusu nasıl çekilir göz atalım.

Öncelikle hızlıca bir konsol uygulaması oluşturalım ve projemize Entity Framework’ ü nasıl dahil edeceğimize bakalım. (Bu ve bundan sonraki Linq ve Entity örneklerini AdventureWorks2012 üzerinde gerçekleştireceğiz)

Projemize, Add > New Item adımlarını izleyerek Entity Data Model ekliyoruz…

addEntityModel

sonrasında yolumuza hangi model tipi ile devam etmek istediğimizi soran ekran gelecek. Biz EF Designer from database seçeneğini seçip Next diyeceğiz.

EFDesignerFromDatabase

Daha sonra hangi database’ e bağlanmak istediğimizi soran ekran gelecek. Aynı zamanda bir Connection String oluşturmuş oluyoruz. App.config dosyasına bakarsanız connectionString’ in oluştuğunu göreceksiniz. Burada save connection setting in App.Config alanına yazdığımız değer database nesne örneğini oluştururken çağıracağımız değer olacak. Zorunlu olmamakla birlikle buradaki yerleşmiş genel düşünce ve uygulama şekli verilen değerin sonuna Entities eklenmesi yönünde.

dataConnection

connectionString

En son adımda ise seçtiğimiz database içerisindeki hangi objeleri entity model içerisine dahil etmek istediğimizi soran bir ekran gelecek. Biz burada sadece Tables seçeneğini işaretliyoruz. Tahmin edeceğiniz gibi isterseniz model içerisine Stored Procedures – Functions ve Views objelerinizi de ekleyebilirsiniz.

databaseSettings

Tüm adımları hatasız şekilde tamamladıysak entity modelimizin projemize dahil olmuş olması gerekiyor. Aşağıda görüleceği üzere projemize Model.edmx eklenmiş model.tt altında da tablolarımız listelenmiş durumda. Bende her şey yolunda görünüyor artık istediğimiz gibi at koşturabiliriz 🙂

modelView

Geriye herhangi bir şey döndürmeyen GetPeople() isminde basit bir method oluşturuyorum ve Main methodunda onu çağırıyorum.

query

Yukarıda AdventureWorks2012Entities olarak tanımladığım database’ in nesne örneğini context isminde oluşturuyorum. Burada “context.” dediğinizde database’ de olan tüm tabloların geldiğini göreceksiniz. Ben burada People tablosuna ulaşmak istediğim için context.People dedim sonuna da  ToList() ekledim ki bana liste olarak dönsün ve List nimetlerinden yararlanabileyim. Artık elimde People’ lar dan oluşan bir liste var  ve ben bu listede istediğim gibi sorgulama yapabilir durumdayım. Görüleceği üzere People tablosuna kayıtlı 19972 adet kayıt var. Baya yüksek bir rakam değil mi? Burada hali ile tüm tabloyu listelemek istemeyebiliriz. Mesela FirstName’ i Martin olan kayıtları getirmek isteyebiliriz. Bunu da tıpkı normal bir SQL sorgusunda olduğu gibi Linq sorgumuza Where şartı getirerek yapabiliriz.

query_Where

Gördüğünüz gibi FirstName’ i Martin olan yani koşulumuzu sağlayan sadece 24 adet kayıt getirildi ve bunu toplamda 3 satır kod ile yaptık. Etkileyici değil mi? 🙂

En başta da bahsettiğim gibi Linq ile beraber gelen bir çok method bulunmakta ve ciddi anlamda işlerimizi kolaylaştırıyorlar. Yukarıdaki iki örnek çok temel seviyede giriş yapmamız içindi, yani “merhaba dünya” niteliğinde. İlerleyen zamanlardaki makalelerde kısmet olursa daha ileri seviyede linq sorguları ile çalışıyor olacağız. Yararlı olması umuduyla…Hoşçakalın!

Print Friendly, PDF & Email

One response on “Linq – Entity Framework Select ve Where İşlemleri

Bir Cevap Yazın

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