C# 连接和Linq c中不存在的位置

C# 连接和Linq c中不存在的位置,c#,mysql,linq,C#,Mysql,Linq,如何将其转换为linq c select * from boliviaextremocontabilidad.subrecurso as sr where not exists (select * from boliviaextremocontabilidad.recursocliente as rc join boliviaextremocontabilidad.eventocliente as ec on rc.idVenta=ec.idVenta where rc.idSubrec

如何将其转换为linq c

select * from boliviaextremocontabilidad.subrecurso as sr where not exists 
(select * from boliviaextremocontabilidad.recursocliente as rc 
join  boliviaextremocontabilidad.eventocliente as ec on rc.idVenta=ec.idVenta
 where rc.idSubrecurso=sr.idSubrecurso and ec.idEvento = 9 ); 
仅限:从玻利维亚ExtremoContabilidad.subrecurso中选择*

我想要的是:

select * from boliviaextremocontabilidad.subrecurso as sr where not exists 
    (select * from boliviaextremocontabilidad.recursocliente as rc 
    join  boliviaextremocontabilidad.eventocliente as ec on rc.idVenta=ec.idVenta
     where rc.idSubrecurso=sr.idSubrecurso and ec.idEvento = 9 ); 
我尝试着做每件事,但我不知道如何将加入和退出结合起来

以下是我在linq中尝试的代码,但任何人都可以:

计划1:

计划2:

计划3:


非常感谢

你确定吗?请尝试在此处引用问题是在不存在的位置与join合并我不知道如何在linq中执行:/n可能的重复类似,但此处不重复对于join来说更为复杂如果您需要在linq中加入,则实体和映射存在错误。您应该在实体本身中定义关系,而不是在查询中定义联接。班次应该有一个名为Employees的集合
(from sr in db.subrecurso 
join rc in db.recursocliente on sr.idSubrecurso equals rc.idSubrecurso
join ec in db.eventocliente on rc.idVenta equals ec.idVenta
where ec.idEvento == idEvento && !db.recursocliente.Any(m => m.idSubrecurso == sr.idSubrecurso)
select sr).ToList();
List<subrecurso> srall=(from sr in db.subrecurso
                                             where !db.recursocliente.Any(m => (m.idSubrecurso == sr.idSubrecurso))
                                             select sr).ToList();
                List<subrecurso> srcs = (from sr in  srall
                                        join rc in db.recursocliente on sr.idSubrecurso equals rc.idSubrecurso
                                        join ec in db.eventocliente on rc.idVenta equals ec.idVenta
                                        where ec.idEvento == idEvento
                                        select sr).ToList();
List<subrecurso> srcs = (List<subrecurso>)(from sr in db.subrecurso
                                                       where !db.recursocliente.Any(m => (m.idSubrecurso == sr.idSubrecurso))
                                                       select sr)
                                     .Join(db.recursocliente.Join(db.eventocliente.Where(ec => ec.idEvento == idEvento), rc => rc.idVenta, ec => ec.idVenta, (ec, rc) => new { ec, rc })
                                     , sr => sr.idSubrecurso, rc => rc.ec.idSubrecurso, (sr, rc) => new List<subrecurso> { sr });