Como fazer junções no LINQ em vários campos na junção única

Preciso fazer uma consulta LINQ2DataSet que faça uma junção em mais de um campo (como

var result = from x in entity
join y in entity2 
       on x.field1 = y.field1 
and 
          x.field2 = y.field2

Eu ainda encontrei uma solução adequada (posso adicionar restrições adicionais a uma cláusula where, mas isso está longe de ser uma solução adequada ou useesta solução, mas que pressupõe um equijoin).

É possível no LINQ ingressar em vários campos em uma única associação?

EDITAR

var result = from x in entity
             join y in entity2
             on new { x.field1, x.field2 } equals new { y.field1, y.field2 }

é a solução que referi como assumindo um equijoin acima.

Mais distanteEDITAR

Para responder às críticas de que meu exemplo original era um equijoin, eu reconheço que, meu requisito atual é para um equijoin e eu já empreguei a solução mencionada acima.

No entanto, estou tentando entender quais possibilidades e melhores práticas eu tenho / devo empregar com o LINQ. Eu vou precisar fazer uma junção de consulta de intervalo de datas com um ID de tabela em breve e estava antecipando esse problema. Parece que devo adicionar o intervalo de datas na cláusula where.

Obrigado, como sempre, por todas as sugestões e comentários fornecidos

questionAnswers(12)

yourAnswerToTheQuestion