Linq permite expresar uniones internas utilizando la palabra clave join o usando SelectMany() (es decir, un par de palabras clave from) donde palabra clave:Cuándo preferir las combinaciones expresadas con SelectMany() sobre las combinaciones expresadas con la palabra clave join en Linq
var personsToState = from person in persons
join state in statesOfUS
on person.State equals state.USPS
select new { person, State = state.Name };
foreach (var item in personsToState)
{
System.Diagnostics.Debug.WriteLine(item);
}
// The same query can be expressed with the query operator SelectMany(), which is
// expressed as two from clauses and a single where clause connecting the sequences.
var personsToState2 = from person in persons
from state in statesOfUS
where person.State == state.USPS
select new { person, State = state.Name };
foreach (var item in personsToState2)
{
System.Diagnostics.Debug.WriteLine(item);
}
Mi pregunta: ¿cuándo es un propósito de utilizar el estilo de unirse y cuándo usar el estilo, donde, tiene ventajas de rendimiento de un estilo sobre el otro estilo?
Ambos métodos son * * eficaz, pero JOIN es probablemente más eficiente * * ... –
@Thomas Levesque Gracias por su corrección, Inglés no es mi lengua materna. – Athari