sabato 26 gennaio 2013

Linq left outer join C# with where condition

Il seguente frammento illustra una tecnica di come utilizzare Linq in relazione a tre tabelle di tipo Left Outer Join, tramite il linguaggio C# e la condizione where.
Con la parola chiave DefaultIfEmpty, prende anche quei record che non si trovano nella tabella in relazione.



var risultato = (from dato in mDataContext.Tabella1
                                         join Tab2 in mDataContext.Tabella2 on dato.IDtab1 equals Tab2.IDTab1 into idtab1                                         from tab1 in idtab1.DefaultIfEmpty()
                                         join tab3 in mDataContext.Tabella3 on tab1.IDFLUSSOATRC1 equals tab3.IDtab1 into idTab3                                         from TotTab3 in idTab3.DefaultIfEmpty()
                                         where dato.campo == "A" || tab1.campo== "B" // || TotTab3.Campo == "C"
                                         select new { dato });

Nessun commento: