저는 C#과 Linq에 익숙하지 않아 일치하는 값에 대해 두 개의 테이블을 쿼리하는 데 어려움을 겪고 있습니다.linq 및 C# 값을 일치시키는 두 테이블을 쿼리하는 방법?
저는 인턴으로 일하면서 Unit of Work Repository Pattern을 사용합니다. 예를 들어, SQL 테이블을 쿼리하려면이 linq 식을 사용합니다 : _entities.Atable.Where(x => x.Col1 == col1 && x.Col2 == col2)
. _entities
변수는 데이터베이스 모델의 모든 테이블 인터페이스를 나타냅니다.
두 테이블이 있다고 가정하십시오. Table1
및 Table2
.
Table1: Col1, Col2, colA, ColB
Table2: Col1, col2, ColC, ColD
여기 내가하고 싶은 내용은 다음과 같습니다 : COL1과 Col2의 두 변수 COL1과 COL2을 일치하여
쿼리
Table1
다음은 각 테이블의 컬럼입니다.예를 들어, 다음
List1 = _entities.Table1.Where(x => x.Col1 == col1 && x.Col2 == col2).ToList()
, 모든 레코드에 대한 쿼리
Table2
곳Table2.Col1
및Table2.Col2
일치List1.Col1
및List1.Col2
. 이 결과는List2
목록에 저장할 수도 있습니다.예, 그런
List2 = _entities.Table2.Where(x => x.Col1 == List1.Col1 && x.Col2 == List1.Col2).ToList()
가, 세 번째 목록,List3
을, 즉 결국Table2
에서 일치하는 항목이 없습니다 Table1
에서 모든 항목을 포함, 나는이 싶습니다 표 1과 일치하는 Table2
의 목록은 Col1
및 Col2
입니다. Table2
에 일치 항목이없는 나머지 항목 Table1
의 목록입니다.
대개 나는 세 번째 글 머리 기호에 머물러 있지만, 어떤 제안이나 개선이든 열려 있습니다.
마지막으로 이것이 가능한지 모르겠다. 두 목록을 하나로 결합하고 싶습니다. 그들은 다른 유형이기 때문에 이것이 어떻게 작동하는지 잘 모르겠습니다.
나는 이것이 모두 의미가 있기를 바랍니다. 나는 잠시 동안 내 머리를 감싸려고 노력했지만, 나는 여전히 쿼리를 만드는 방법에 난처한 입장이다. 나도 Except()
와 Intersect()
와 놀고 그러나 다량 운이 없었다.
도움을 주시면 감사하겠습니다.
'예외()'대신 '차이()'를 시도해보십시오. – Monkpit
좋아, 나는 그것을 조사하기 시작할 것이다. 감사. – navig8tr
왼쪽 내부 결합을 시도하고 있습니까? –