La segunda vez que llamas .SelectMany(x => x.Contacts)
, actualmente estás trabajando con una colección de ContactDetails
. Es dudoso que puedas usar SelectMany
en eso. Necesitarías usar Select
en cambio.
SelectMany
se usa cuando desea seleccionar múltiples colecciones de elementos y ponerlos en uno IEnumerable
. Select
se usa en campos individuales. Ya que estás trabajando con objetos de tipo ContactDetail
(que supongo que solo puede tener un contacto), necesitaría usar Select
Editar: Esto es lo que estás haciendo en pocas palabras, paso a paso:
groups_to_querry.SelectMany(x => x.Contacts)
: De todos los grupos que quiero consultar seleccione todos sus contactos. Cada grupo tiene muchos contactos, así que póngalos todos en un solo IEnumerable
colección de tipo Contact
.Where(x => x.ID == Guid.Empty)
: ... pero solo esos contactos con una identificación vacía
.SelectMany(p => p.ContactDetails)
: Luego seleccione todos esos contactos de CONTACTA CALLAS. Cada contacto tiene muchas colas de contacto, así que póngalos todos en un solo IEnumerable
colección de tipo ContactDetail
.Where(x => x.ID == Guid.Empty)
: ... pero solo esas cortes de contacto con una identificación vacía
.SelectMany(x => x.Contacts);
: Ahora seleccione cada uno de los muchos contactos de Contact Details. Sin embargo, dado que el compilador sabe que existe una relación de uno a muchos entre contactos y colas de contacto (y no al revés), esa declaración no es posible, y por lo tanto muestra un error de compilación