如何使用linq连接3个表

我试图在Linq的查询中加入3个表来从所有3个表中获取数据。 下面是表格方案的图片:

在此处输入图像描述

查询应选择:SewagePlantName,CompanyName和Duty

此外,我需要将SewagePlantId限制为一个ID列表,给出如下:

var sewagePlantIds = UnitOfWork.GetAll() .Where(group => group.Id == webAppPrincipal.GroupId) .SelectMany(group => group.SewagePlantId).Select(sewageplant => sewageplant.Id).ToList(); 

我在加入3个表格的顺序以及在何处/如何将SewagePlantId限制在给定列表时遇到了困难。

请帮忙。 谢谢你,Manu

你能尝试类似的东西加入吗?

  from d in Duty join c in Company on d.CompanyId equals c.id join s in SewagePlant on c.SewagePlantId equals s.id .Select(m => new { duty = s.Duty.Duty, CatId = s.Company.CompanyName, SewagePlantName=s.SewagePlant.SewagePlantName // other assignments }); 
 var obj = from trns in context.tblPartyRegistrations join st in context.tblSellingTrans on trns.PartyRegId equals st.Fk_PartyRegId join pt in context.tblPartyRemainings on trns.PartyRegId equals pt.fk_PartyId select new { trns.Name, trns.PhoneNo, trns.Address, st.RecivedAmount, st.Date, st.CustomerType, st.MilkRate, st.Mltr, st.Mkg, st.NtAmnt, st.RemaningAmount, pt.Remainingammount };