本文介绍了作为列表类返回的LINQ外连接显示空值错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
作为列表类返回的LINQ外连接显示为空值错误.
当我们尝试分配返回的查询列表时,将出现NULL值错误.
我需要帮助,以正确的方式知道如何将空值
RETURNED LINQ OUTER JOIN AS A LIST CLASS SHOWS AN ERROR OF NULL VALUE.
WHEN WE TRY TO ASSIGN THE RETURNED QUERY LIST, THE NULL VALUE ERROR COMES.
I NEED A HELP TO KNOW HOW TO CAST THE NULL VALUE IN A PROPER WAY
public class cJAB_MT_SHOP_REGN_LQ
{
string _BOB_UNIQUEID;
long _BOB_LOCATIONID;
long _NBRANCH_SL;
long _NREGION_SL;
string _BOB_DESCRIPTION;
long _NCM_SL;
string _CNAME;
public cJAB_MT_SHOP_REGN_LQ(string vBOB_UQ_ID,long vBOB_LOC_ID,long vNBRANCH,long vNRGION,string vBOB_DESCRTN,long vNCM_SL,string vCNAME)
{
this._BOB_UNIQUEID = vBOB_UQ_ID;
this._BOB_LOCATIONID = vBOB_LOC_ID;
this._NBRANCH_SL = vNBRANCH;
this._NREGION_SL = vNRGION;
this._BOB_DESCRIPTION = vBOB_DESCRTN;
this._NCM_SL = vNCM_SL;
this._CNAME = vCNAME;
}
public cJAB_MT_SHOP_REGN_LQ()
{
}
public string BOB_UNIQUEID
{
get { return _BOB_UNIQUEID; }
set {
this._BOB_UNIQUEID = value; }
}
public long BOB_LOCATIONID
{
get { return _BOB_LOCATIONID; }
set { this._BOB_LOCATIONID = value; }
}
public long NBRANCH_SL
{
get { return _NBRANCH_SL; }
set { this._NBRANCH_SL = value; }
}
public long NREGION_SL
{
get { return _NREGION_SL; }
set { this._NREGION_SL = value; }
}
public string BOB_DESCRIPTION
{
get { return _BOB_DESCRIPTION; }
set { this._BOB_DESCRIPTION = value; }
}
public long NCM_SL
{
get { return _NCM_SL; }
set { this._NCM_SL= value; }
}
public string CNAME
{
get { return _CNAME; }
set { this._CNAME = value; }
}
public IEnumerable<cJAB_MT_SHOP_REGN_LQ> getALL()
{
DC_ShopRegionDataContext db = new DC_ShopRegionDataContext();
IEnumerable<cJAB_MT_SHOP_REGN_LQ> de = null;
de = from RTA in db.BOB_LOCATION_MASTERs
join RFPS in db.AB_MT_SHOP_REGIONs on RTA.BOB_LOCATIONID equals RFPS.BOB_LOCATIONID into ps
from p in ps.DefaultIfEmpty()
join CMREF in db.CM_MT_REF_CODEs on p.NREGION_SL equals CMREF.NCM_SL into rf
from r in rf.DefaultIfEmpty()
// where RFPS.BOB_LOCATIONID==xLOCID
orderby RTA.BOB_DESCRIPTION
select new cJAB_MT_SHOP_REGN_LQ
(
p.BOB_UNIQUEID, p.BOB_LOCATIONID, r.NBRANCH_SL, p.NREGION_SL, RTA.BOB_DESCRIPTION, r.NCM_SL, r.CNAME
);
return de;
}
推荐答案
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
);
这篇关于作为列表类返回的LINQ外连接显示空值错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!