Selezionare molti è come un'operazione di cross join in SQL dove prende il prodotto incrociato.
Ad esempio se abbiamo
Set A={a,b,c}
Set B={x,y}
Seleziona molti possono essere utilizzati per ottenere il seguente set
{ (x,a) , (x,b) , (x,c) , (y,a) , (y,b) , (y,c) }
Nota che qui prendiamo tutte le possibili combinazioni che possono essere fatte dagli elementi del set A e del set B.
Ecco un esempio LINQ che puoi provare
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 });
il mix avrà i seguenti elementi in struttura piatta come
{(10,cat), (10,dog), (10,donkey), (20,cat), (20,dog), (20,donkey)}