2010-05-11 3 views
4

서로 관련이없는 엔티티가 3 개 있습니다.이 엔티티를 데이터베이스로 한 번에 가져 오려면 어떻게해야합니까?데이터베이스와 관련된 관련없는 엔티티 가져 오기

감사

+0

자세한 정보를 제공 할 수 있습니까? 정확하게하려는 것은 무엇이고, 왜/어떻게이 형식으로 데이터를 다시 필요로합니까? –

+0

Whay 당신도 그것을하고 싶습니까? 성능이 향상된다고 생각하면 그렇지 않을 것입니다. – LukLed

+0

사실, 주 정보를 가지고있는 주 엔터티를 다시 가져오고 다른 두 엔터티를 가져 와서 최종 사용자에게 표시해야하는 일반 정보처럼 갖기를 원하므로 더 많은 작업을 수행하고 싶지 않습니다. 3 개의 엔티티를 모두 얻으려면 데이터베이스로 한 번만 이동하십시오. – kathy

답변

0

당신이 그것을 할 수는 :

var result = from foo in ctx.Foos 
       from bar in ctx.Bars 
       where foo.id == xxx && bar.id == yyy 
       select new { Foo = foo, Bar = bar}; 

이렇게하면 특정 foo는 같은 쿼리에서 줄을 가져옵니다. 비록 비효율적 인 SQL을 생성하므로 권장하지는 않습니다.

0

순수 관계형 데이터베이스에서 데이터를 검색하는 경우 단일 쿼리에서 여러 결과 집합을 검색 할 수 있는지 확인해야합니다. 또는 불규칙한 결과를 가져올 수있는 경우 트리 구조에서 해당 모양으로 검색하십시오.

데이터베이스에 대한 연결이 이것에 충분하지 않은 경우 결과에 대한 범용 조인을 사용하고 어떤 형식의 태그가 지정된 조합 쿼리를 반환하여 어떤 결과가 어떤 테이블에서 왔는지 식별 할 수 있습니다.

감소 된 라운드 트립의 이유를 설명하지 않지만 저장 프로 시저와 같은 것을 사용하여 서버에서 필요한 데이터를 수집 한 다음 하나의 결과 집합으로 반환 할 수도 있습니다.

1

향후 검색어 확장 방법을 사용할 수 있습니다. 이 link은 필요에 따라 작업을 수행 할 수 있습니다.

관련 문제