Selecionar muitos é como uma operação de junção cruzada no SQL, onde ele leva o produto cruzado.
Por exemplo, se tivermos
Set A={a,b,c}
Set B={x,y}
Selecione muitos podem ser usados para obter o seguinte conjunto
{ (x,a) , (x,b) , (x,c) , (y,a) , (y,b) , (y,c) }
Observe que aqui tomamos todas as combinações possíveis que podem ser feitas a partir dos elementos do conjunto A e do conjunto B.
Aqui está um exemplo de LINQ que você pode tentar
List<string> animals = new List<string>() { "cat", "dog", "donkey" };
List<int> number = new List<int>() { 10, 20 };
var mix = number.SelectMany(num => animals, (n, a) => new { n, a });
a mistura terá os seguintes elementos em estrutura plana como
{(10,cat), (10,dog), (10,donkey), (20,cat), (20,dog), (20,donkey)}