1
resposta

Como foi possível imprimir no console a associação feita no join?

Não consegui entender muito bem como foi possível imprimir no console, a associação correta entre os GeneroId feita pelo join.

Aqui foi colocado:

 join m in root.Element("Musicas").Elements("Musica") 
                            on g.Element("GeneroId").Value equals m.Element("GeneroId").Value

Porém, no select, cria-se um objeto anônimo assim:

 select new
                        {
                            Musica = m.Element("Nome").Value,
                            Genero = g.Element("Nome").Value
                        };

Em seguida, quando vamos imprimir os valores no console, chamamos:

foreach (var musica in query)
            {
                Console.WriteLine("{0}\t{1}", musicaEgenero.Musica, musicaEgenero.Genero);
            }

Pelo que entendi, a associação de "GeneroId" entre Musica e Genero não foi usada. Parece que simplesmente imprimiu o nome da primeira música e o nome do primeiro gênero, uma vez que dentro do objeto anônimo só foi utilizado "Nome".

Se tivéssemos 10 músicas de 10 gêneros (listados de 1 a 10) diferentes, sendo que a primeira música tivesse um GeneroId de valor 7, ao imprimir o nome da música e o gênero, da mesma forma que foi feito ali em cima, o nome do gênero estaria correto?

1 resposta
O post foi fechado por inatividade. Para continuar o assunto, recomendamos criar um novo tópico. Bons Estudos!