here you go, I had a friend help me work it out. It turns out you have to do it in 2 steps.
var x1 = from RFPS in db.AB_MT_SHOP_REGIONs
join CMREF in db.CM_MT_REF_CODEs on RFPS.NREGION_SL equals CMREF.NCM_SL into rf
from CMREF in rf.DefaultIfEmpty()
select new {RFPS, CMREF}
var de = from RTA in db.BOB_LOCATION_MASTERs
join x in x1 on RTA.RTA.BOB_LOCATIONID equals x.RFPS.BOB_LOCATIONID into ps
from x in ps.DefaultIfEmpty()
select new cJAB_MT_SHOP_REGN_LQ
(
x == null ? "" : x.RFPS == null ? "" : x.RFPS.BOB_UNIQUEID,
x == null ? "" : x.RFPS == null ? "" : x.RFPS.BOB_LOCATIONID,
x == null ? "" : x.CMREF == null ? "" : x.CMREF.NBRANCH_SL,
x == null ? "" : x.RFPS == null ? "" : x.RFPS.NREGION_SL,
RTA.BOB_DESCRIPTION,
x == null ? "" : x.CMREF == null ? "" : x.CMREF.NCM_SL,
x == null ? "" : x.CMREF == null ? "" : x.CMREF.CNAME
);