2013-08-10 4 views
-3

테이블의 특정 그룹에 속한 요소를 선택하려면 요소와 해당 그룹 유형이 하나의 테이블에 포함되어 있고 모든 그룹 유형이 다른 테이블에 나열되어 있으면 테이블에서 나누기를 수행합니다. 동일한 작업을 수행하기 위해 LINQ 쿼리를 사용하려고합니다. 어떻게 수행 할 수 있는지 말해주십시오.테이블에서 나누기 연산을 수행하는 LINQ 연산자는 무엇입니까?

+1

당신이하려는 일과 이미 한 일이 분명하지 않습니다. 코드 예를 들어 설명하거나 조금 더 설명하십시오. – Pleun

+0

@Pleun division opeartor with http://sajidzaman.com/2010/12/16/division-operator-in-relational-databases/ –

+1

@MaruthiRevankar : 왜 우리는 블로그 게시물을 읽어야 만 하는가? 귀하의 질문을 이해합니까? 더 명확하게 편집하십시오. 감사. – stakx

답변

1

분명히 그 블로그 게시물의 정의에서 당신은 교차하고 싶을 것입니다.

Table1.Except(Table1.Intersect(Table2)); 

또는 오히려 귀하의 경우 나는 열심히

Table1.Where(d => !Table2.Any(t => t.Type == d.Type)); 

하지 추측에는 요.

성능이 훨씬 향상 될 수 있다고 생각하지 않습니다. 어쩌면 그룹 비와 함께.

Table1.GroupBy(t => t.Type).Where(g => !Table2.Any(t => t.Type == g.Key)).SelectMany(g => g); 

이것은 성능 향상에 도움이됩니다. Table1의 모든 행이 아니라 모든 유형의 유형에 대해 두 번째 테이블 만 검색합니다.

0

정확히 무엇을 묻고 있는지 판단하기가 어렵습니다. 그러나 두 테이블이나 스트림에서 공통적 인 요소를 결정하려고하는 것처럼 들립니다. 그렇다면, 당신이 인터 섹트를 원한다고 생각합니다.

Take a look here

그것은이 같은 일이의 반대가 제외 될 것

int[] array1 = { 1, 2, 3 }; 
int[] array2 = { 2, 3, 4 }; 
var intersect = array1.Intersect(array2); 

반환 2, 3

을().

+0

[그것은 관계 구분이 무엇이 아닙니다.] (https://www.simple-talk.com/sql/t-sql-programming/divided-we-stand-the-sql-of-relational-division/) –

+0

맞아요,하지만 그는 그가 원하는 것을 좋아합니다. –

관련 문제