C# 从与两个联接表之一相关的第三个表中选择记录

C# 从与两个联接表之一相关的第三个表中选择记录,c#,entity-framework,linq,C#,Entity Framework,Linq,我有一个连接两个表的Linq查询,我试图从ID为19的第三个表中仅提取具有客户机的记录,该客户机具有相关联系人。ClientProjects和Clients表之间没有导航属性(ClientProjects是一个来自外部源的表,不能修改)。客户和联系人之间存在多对多关系。我的问题出了什么问题?正确的方法是什么 ClientProjects.Join(Clients.Where(a => a.Contacts.FirstOrDefault().Id == 19), a => a.Cli

我有一个连接两个表的Linq查询,我试图从ID为19的第三个表中仅提取具有客户机的记录,该客户机具有相关联系人。ClientProjects和Clients表之间没有导航属性(ClientProjects是一个来自外部源的表,不能修改)。客户和联系人之间存在多对多关系。我的问题出了什么问题?正确的方法是什么

 ClientProjects.Join(Clients.Where(a => a.Contacts.FirstOrDefault().Id == 19), a => a.ClientId, c => c.HistoricClientId, (a, c) => new {?.ContactName a.DisplayName }) 

你好,请尝试在Join语句中添加.Include()

    ClientProjects.Join(Clients.Include(x => x.Contacts).Where(a => a.Contacts.FirstOrDefault().Id == 19), a => a.ClientId, c => c.HistoricClientId, (a, c) => new {c.Contacts.ContactName a.DisplayName })