Linq para bucle anidado

Tengo un bucle de la siguiente manera:

foreach(x in myColl) 
{
    foreach(var y in x.MyList) 
    {
        result.Add(x.MyKey + y)
    }
}

Eso significa que dentro de mi ciclo interno necesito acceso a una propiedad del elemento externo actual.

Estoy buscando una declaración LINQ pero no estoy seguro. Lo probé usando

result = myColl
    .SelectMany(x => x.MyList)
    .SelectMany(x => /* how to get the key of the outer loop here */ + x)

Respuestas a la pregunta(3)

Su respuesta a la pregunta