使用复合键的LinqJoin()

本文关键字:LinqJoin 复合 | 更新日期: 2023-09-27 18:00:43

我试图用两个表发出请求

表页码:Id,LangId(主键)PageTypeId,PageTypeLangId(外键)

表格页面类型:Id,LangId(主键)

那么该怎么办呢?在这里,我错过了添加PageTypeLangId

    return context.Pages
            .Join(context.PageTypes, p => p.PageTypeId, pT => pT.Id,(p, pT) => new { p, pT })

我想要:

 select * from Page inner join PageType on Page.PageTypeId=PageType.Id and     Page.PageTypeLangId=PageType.LangId

谢谢你的帮助!

使用复合键的LinqJoin()

以下内容应该有效:

return context.Pages
              .Where(x => x.PageTypeLangId.HasValue)
              .Join(context.PageTypes,
                    p => new { Id = p.PageTypeId,
                               LangId = p.PageTypeLangId.Value },
                    pT => new { pT.Id, pT.LangId },
                    (p, pT) => new { p, pT });