使用复合键的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
谢谢你的帮助!
以下内容应该有效:
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 });