How I can convert this to 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 );
only : select * from boliviaextremocontabilidad.subrecurso
what i want is this:
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 );
I am trying with everything but i dont figure, how to combine "join" with "where not exit"
these are my trying code in linq but anyone work:
Attemp 1:
(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();
Attemp 2:
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();
Attemp 3:
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 });
Thanks a lot!!