두 개 이상의 필드를 통해 두 테이블을 조인 할 때 Linq에서 내부 조인을 작성하는 방법을 알고 싶습니다.LINQ 점 표기법과 하나 이상의 조인 필드를 사용하여 조인
SELECT tableOne.fieldThree
FROM table_One AS tableOne,
table_Two AS tableTwo,
WHERE
tableOne.fieldOne == tableTwo.fieldOne AND
tableOne.fieldTwo == tableTwo.fieldTwo;
나는이 시도 :
예를 들어 말하자면이는 SQL과 동일
tableTwo.Join(tableOne,
two => new { two.fieldOne, two.fieldTwo },
one => new { one.fieldOne, one.fieldTwo },
(two, one) => one.fieldThree)
.ToList();
그러나 컴파일러는 방법은 사용에서 추론 할 수 없다고 오류가 표시됩니다.
감사합니다.
샘플 코드에 가짜 닫는 중괄호가 있습니다. 시도한 정확한 * 코드와 문제를 알려주십시오. 오, 나는 마지막 논쟁에서'tableOne.fieldThree'보다는'one.fieldThree'를 뜻한다고 생각합니다. 짧지 만 완성 된 * 예제 (데이터 모델 포함)를 사용하면 훨씬 쉽게 도움을받을 수 있습니다. –
http://stackoverflow.com/questions/373541/how-to-do-joins-in-linq-on-multiple-fields-in-single-join –
@JonSkeet : corrected에서 확인하십시오. – Heathcliff