Die tweede keer waarvoor u skakel .SelectMany(x => x.Contacts)
, werk u tans met 'n versameling van ContactDetails
. Dit is te betwyfel dat u dit sou kon gebruik SelectMany
daarop. U sal moet gebruik Select
in plaas daarvan.
SelectMany
word gebruik as u verskeie versamelings van items wil kies en dit in een wil plaas IEnumerable
. Select
word op individuele velde gebruik. Aangesien u met tipe voorwerpe werk ContactDetail
(wat ek aanneem, kan net een kontak hê), sal u gebruik moet gebruik Select
EDIT: Hier is wat u in 'n neutedop doen, stap vir stap:
groups_to_querry.SelectMany(x => x.Contacts)
: Uit al die groepe wat ek wil navraag doen, kies al hul vele kontakte. Elke groep het baie kontakte, so plaas hulle almal in 'n enkele IEnumerable
Versameling van tipe Contact
.Where(x => x.ID == Guid.Empty)
: ... maar net die kontakte met 'n leë ID
.SelectMany(p => p.ContactDetails)
: Kies dan al die kontakte se vele kontakdetails. Elke kontak het baie kontakdetails, so plaas almal in 'n enkele IEnumerable
Versameling van tipe ContactDetail
.Where(x => x.ID == Guid.Empty)
: ... maar net die kontakdetails met 'n leë ID
.SelectMany(x => x.Contacts);
: Kies nou elk van die ContactDetails se vele kontakte. Aangesien die samesteller egter weet dat daar 'n een-tot-baie-verhouding tussen kontakte en kontakdetails is (en nie andersom nie), is die stelling nie moontlik nie, en toon dit dus 'n samestellingfout