Önceki bir yayında (http://bit.ly/bbIthV), Adres listesi boşken Kişiler listesinin iç içe geçmiş Address.State ile nasıl Gruplandırılacağını sordum.Yuvalanmış bir özelliğin Nested özelliğine göre gruplandırma (bölüm II)
//Create a dummy replacement for when a person has no addresses Address dummyAddress = new Address { State = "" }; people.GroupBy(p => (p.Addresses.GetFirstOrDefault() ?? dummyAddress).State);
Ama sonuçları görmeye, ben doğru quesion sormuyordum görüyoruz:
Sorumun mükemmel bir cevap verdi.Her biri n adresinde yaşayan 6 kişiyse, yukarıdakiler 6 gruba sahip olacak ... oysa bunun yerine anahtar grup tarafından gruplanan bir grup kişi almalıyım:
var distinctAddresses = people.SelectMany(p=>p.Addresses).City).Distint();
Cevabın bir tür GroupJoin içerecektir düşünüyorum, ama
//Back where I started: var y = addresses.GroupJoin(persons,a => a.State, p => p.Addresses.FirstOrDefault(), (a,p)=> p); //Doesn't compile... var y = addresses.GroupJoin(persons,a => a, p => p.Addresses, (a,p)=> p);
herkes atılacak adımlar konusunda bir öneri var mı ... çok uzak kazanılmış değil?
Çok teşekkür ederim!
Biraz kafam karıştı. Örnek giriş, çıkış sağlayabilirseniz harika olurdu. – Ani