2013-10-31 2 views
1

SQL 쿼리를 LINQ로 변환하는 데 어려움을 겪고 있습니다. 여기 많은 조인을 사용하는 SQL에서 LINQ로

는 SQL이다 :

SELECT dbo.ORGANIZATION.ORGANIZATION_ID, 
     dbo.ORGANIZATION.ORGANIZATION_NAME, 
      dbo.PWR_ORGANIZATION_DIRECTORY.DIRECTORY_IDENTIFIER, 
      dbo.DETAIL_REQUIREMENT.DETAIL_ID, 
     dbo.DETAIL_REQUIREMENT.DETAIL_IDENTIFIER, 
      dbo.PWR_ORGANIZATION_DIRECTORY_MAPPING.DIRECTORY_ATTRIBUTE, 
      dbo.PWR_ORGANIZATION_DIRECTORY_MAPPING.ATTRIBUTE_VALIDATION, 
     dbo.PWR_ORGANIZATION_DIRECTORY_MAPPING.ATTRIBUTE_TRANSFORMATION, 
      dbo.PWR_ORGANIZATION_DIRECTORY_MAPPING.DETAIL_ACCESS 

FROM dbo.ORGANIZATION INNER JOIN 
     dbo.DETAIL_REQUIREMENT ON dbo.ORGANIZATION.ORGANIZATION_ID = dbo.DETAIL_REQUIREMENT.ORGANIZATION_ID INNER JOIN 
     dbo.PWR_ORGANIZATION_DIRECTORY INNER JOIN 
     dbo.PWR_ORGANIZATION_DIRECTORY_MAPPING ON dbo.PWR_ORGANIZATION_DIRECTORY.ORGANIZATION_ID = dbo.PWR_ORGANIZATION_DIRECTORY_MAPPING.ORGANIZATION_ID AND 
     dbo.PWR_ORGANIZATION_DIRECTORY.DIRECTORY_TYPE_ID = dbo.PWR_ORGANIZATION_DIRECTORY_MAPPING.DIRECTORY_TYPE_ID AND 
     dbo.PWR_ORGANIZATION_DIRECTORY.DIRECTORY_ID = dbo.PWR_ORGANIZATION_DIRECTORY_MAPPING.DIRECTORY_ID ON 
     dbo.DETAIL_REQUIREMENT.DETAIL_ID = dbo.PWR_ORGANIZATION_DIRECTORY_MAPPING.DETAIL_ID AND 
     dbo.ORGANIZATION.ORGANIZATION_ID = dbo.PWR_ORGANIZATION_DIRECTORY_MAPPING.ORGANIZATION_ID 

WHERE dbo.ORGANIZATION.ORGANIZATION_ID = 0 AND 
     dbo.PWR_ORGANIZATION_DIRECTORY.DIRECTORY_ID = 1 AND 
      dbo.PWR_ORGANIZATION_DIRECTORY.DIRECTORY_TYPE_ID = 1 

그리고 이것은 내가 시작했지만이 있었다 때 혼란 가지고 어떻게 세 테이블 사이에 조인

var megaFetch = from org in context.Organizations 
      join detReq in context.DetailRequirements on org.OrganizationId equals detReq.OrganizationId 
      join detMap in context.OrganizationDirectoryMappings on org.OrganizationId equals detMap.OrganizationId && 

누군가가 여기에 나를 인도 할 수 있습니까?

감사합니다.

답변

2

두 개 이상의 열에 테이블을 조인해야하는 경우 양면이 동일한 필드 수를 가진 익명 형식을 만듭니다. 그것은 같아야한다.

new {col1 = x.col1, col2 = x.col2, ...} equals new { col1 = y.col1, col2 = y.col2, ...} 
+0

아하! 그거였다. – DoomerDGR8