score:1

Accepted answer

something like this maybe:

var listc = (
                from hb in holdbilling
                from p in payer.where(a=>a.payerid==hb.payerid).defaultifempty()
                from c in carrier.where(a=>a.carrierid=hb.carrierid).defaultifempty()
                where hb.bentityid==378
                select new
                {
                    hb.bentityid,
                    c.carrierid,
                    c.carriername,
                    p.payerid,
                    p.payername,
                    holdtype=(payer==null?"p":"c")
                }
                ).take(1000)
                .tolist();

score:1

you need to use defaultifempty to do a left join

 var listc = (from hold in holdbilling
              from u in users.where(x => hold.createuserid == x.userid).defaultifempty()
              from c in carrier.where(x => hold.carrierid == x.carrierid).defaultifempty()
              select new
              {
                elem = hold,
                fname = u.userfirstname,
                lname = u.userlastname,
                carrier = c.carriername,
                payer = ""
              }).tolist();

Related Query

More Query from same tag