Spesso vedo tra vari post difficoltà da parte di programmatori nel realizzare una left o right join con linq.
Ecco la soluzione:
Left join
var query = from C in clienti
join OV in orariVisita on C.id equals OV.idCliente into JoinedCliOrarVis
from OV in JoinedCliOrarVis.DefaultIfEmpty()
select new {nominativo = C.nominativo, oraVisita = OV.oraVisita};
ovviamente se si vuole una right join basta invertire la query:
Right join
var query = from OV in orariVisita
join C in clienti on OV.idCliente equals C.id into JoinedOrarVisCli
from OV in JoinedOrarVisCli.DefaultIfEmpty()
select new {nominativo = C.nominativo, oraVisita = OV.oraVisita};
penso che sia molto semplice.
Buon lavoro :-)
Nessun commento:
Posta un commento