EF Sorgusu
-
Arkadaşlar iki tablo var
Oyuncu
--OyuncuID
--OyuncuAdiResim
--ResimID
--OyuncuID
--ResimYolselect *,(select top 1 ResimYol from Resim where Resim.OyuncuID = o.OyuncuID) from Oyuncu o
sqlde olan şu sorguyu EntityFramework ile nası yaparız?
-
var query = db.Resim.toList(); //db.Resim.Include("Oyuncu").toList();
foreach(var item in query)
{
int resimid = item.RedimId;
int oyuncuId = item.Oyuncu.OyuncuId;
string oyuncuadi = İtem.Oyuncu.OyuncuAdi;
string resimyol = item.RedimYol;
}
ilişkili oldukları için direk şu şekilde çekebilirsin.
-
@FCN, modelde iliskili olarak yapilmamissa calismaz bu sekilde
@cemnet, hocam EF sorgu yok, linq ya da lambda expression deniyor. Istiyorsan teamviewer yolla pm den bakalim 2 dk
-
valla hocalar noktaya basa basa ilerledim şu oldu en sonunda
@item.Resims.Where(x => x.OyuncuID == item.OyuncuID).Take(1).FirstOrDefault().ResimAdi
-
firstordefault ile take(1) kullanman saçma olmuş. FirstOrDefault 1. kaydı alır yoksa null döndürür zaten. onun haricinde where query ine baktığımda db den 2 farklı sorgu ile alıyorsun datayı anladığım kadarıyla. Data ve Kullanıcı sayısı az ise farketmeyebilirsin ama bunlar arttığında performans sıkıntısı yaşarsın.