ben şöyle verilerin bir listesi var:Düzleştirme Linq Grubu sorgu
ID AddressPurpose Address ...
1 L
1 P
2 L
2 P
3 P
3 L
4 P
4 L
5 P
6 L
Ben verilere filtre edebilmek istiyorum böylece o zaman başka döndürülür P satır varsa her benzersiz numara için L sıra döndü. Yani veri aşağıdaki gibi görünecektir: Şu anda
ID AddressPurpose Address ...
1 P
2 P
3 P
4 P
5 P
6 L
Ben çalışıyor bu sorguyu var: İlave foreach kullanarak olmadan bunu yapmak için daha iyi bir yolu
var query = from c in list
orderby c.AddressPurpose descending
group c by c.ID
into g
select g;
var finalList = new List<Company>();
foreach (var list in query)
{
finalList.Add(list.First());
}
return finalList;
var mı?
var query =
from i in (
from c in list
orderby c.AddressPurpose descending
group c by c.ID into g
select g)
select i.First();
return query;
bu onu (ya da muhtemelen hatta en iyi) yapmak için tek yol değildir eminim ama bu senin "foreach" tamamlamayı kapsamaz:
Kendi nizamı düzenlerken bunu yazıyor olmalısınız, lc! 1! –
Sanırım öyle. İç içe geçmiş sorgularınızı da seviyorum, karmaşık sorgularda yinelemeniz gereken her zaman yeniden kullanılabilirler. –
Teşekkürler. Bu harika çalışıyor. Şimdi "g'ye" kısmını anlıyorum. –