首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有多个联接的SQL到LINQ

具有多个联接的SQL到LINQ
EN

Stack Overflow用户
提问于 2013-10-31 15:02:24
回答 1查看 55关注 0票数 1

我正在努力将SQL查询转换为LINQ。

下面是SQL:

代码语言:javascript
复制
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

我就是这样开始的,但当表之间有两个和三个连接时,我感到困惑:

代码语言:javascript
复制
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 &&

有人能指引我到这里来吗?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-31 15:09:20

如果需要在多个列中联接表,请创建匿名类型,其中双方的字段数相同。应该是这样的;

代码语言:javascript
复制
new {col1 = x.col1, col2 = x.col2, ...} equals new { col1 = y.col1, col2 = y.col2, ...}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19709971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档