Projection dediğimiz şey, bir şekilde attığımız sorgudan gelen dataların tamamına ihtiyacımız yoksa, ve bunları derli toplu bir obje olarak almak istiyorsak, anonymous object tekniği kullanarak gelen datayı yeni bir objeye (project) edip alabiliriz.
var sorgu = from ogr in list where ogr.Ad.Contains("e") && ogr.Ad.Contains("m") orderby ogr.Id descending select ogr;
Bu örnekte görüldüğü üzere “select” yaptığımızda “ogr” isimli nesneyi olduğu gibi seçmiş oluyoruz. Farzedin ki ogr nin içerisinde 10 tane Property var ve ben bunlardan sadece 2 tanesini istiyorum. SQL’deki gibi düşündüğümüzde, select’ten sonra ogr.Ad,ogr.Id desek ne güzel olurdu değil mi ? 🙂 Ancak bunu LINQ anlayamıyor. select dedikten sonra ya bir nesne yada bir Property seçmemiz gerekiyor.
var sorgu = from ogr in list where ogr.Ad.Contains("e") && ogr.Ad.Contains("m") orderby ogr.Id descending select ogr.Ad,ogr.Id;
Bu kullanım YANLIŞTIR, malesef HATA verecektir. Derleme bile yapmayacaktır.
O yüzden böyle bir ihtiyaçta imdadımıza Anonymous Object initializer yardımımıza koşuyor.
O da şöyle
var sorgu = from ogr in list where ogr.Ad.Contains("e") && ogr.Ad.Contains("m") orderby ogr.Id descending select new { HerhangiBirPropertyIsmi = ogr.Id, BaskabirPropertyIsmi = ogr.Ad };
new { dedikten sonra, hayali olarak, bir nesne örnekliyoruz, ogr içinden seçtiğimiz her bir datayı, herhangi ismini kendimizin belirleyeceği bir property’ye set ederek, hayali isimsiz bir obje oluşturabiliyor ve geriye onu veya onları içeren bir sonuç döndürebiliyoruz. Bu sonuç içerisinde “var” veri tipi ile gayet rahat iterate edebiliyoruz.
İnsan atalarıyla niye övünür? İnsanlık evrimine katkıları nedeniyle olmalı, değil mi? Gariptir ama bizim Türk-İslamcılarımız…
İyi şeyleri engelleyen sözler esasında saymakla bitmez. Bu sözlerden bazıları bir virüs gibi bulaşıcıdır. Kırıcı…
SERVET-İ FÜNUN DÖNEMİNİN ÖNEMLİ SANATÇILARI TEVFİK FİKRET (1867-1915): Şairin, Batılı sanat anlayışını benimsemesindeki en önemli…
SERVET-İ FÜNUN EDEBİYATI (EDEBİYAT-I CEDİDE) (1896-1901) Servet-i Fünun veya Edebiyat-ı Cedide devri, Türk edebiyatında…
FECRİ ATİ EDEBİYATI Servet-i fünun edebiyatının devamı niteliğinde olan fecr-i ati topluluğu,1909 yılında ortaya…
ÖZELLİKLER: Boyut: 28x8x6 cm Ağırlık: 850gr Ekran: Yok Devre sayısı: 30 Konuşma süresi: 35 dakika…