正如Priyank Panchal提到的
请注意,我正在使用Entity Framework
处理ASP.NET MVC
项目,在函数中,我希望它返回由模型结构化的数据(我使用LINQ查询来检索函数将返回的数据(。当LINQ
查询有数据时一切都很好,但当LINQ
查询没有数据时,我得到了这个错误:
错误:
序列不包含任何元素
函数:
public static List<ABS_model> SELECT_Related_With_STG_Details(string STG)
{
var R = (from A in SCHOOL_DB_Context.Con.ABS
join S in SCHOOL_DB_Context.Con.STGs on A.STG_ABS equals S.CD_STG
join U in SCHOOL_DB_Context.Con.UFs on A.UF_ABS equals U.CD_UF
where A.STG_ABS == STG
select new ABS_model {
N_ABS = A.N_ABS,
STG_ABS = A.STG_ABS,
NM_STG = S.NM_STG,
PRN_STG = S.PRN_STG,
DT_ABS = A.DT_ABS,
UF_ABS = U.NM_UF,
INTTL_UF = U.NM_UF,
JSTF_ABS = A.JSTF_ABS,
JSTF_DOC_ABS = A.JSTF_DOC_ABS
}
).ToList();
return R;
}
所以如果Query没有记录,我想返回Null模型(如果可以的话(。
请帮忙吗?
试试这个,应该有效:
var R = from A in SCHOOL_DB_Context.Con.ABS
join S in SCHOOL_DB_Context.Con.STGs
on A.STG_ABS equals S.CD_STG
join U in SCHOOL_DB_Context.Con.UFs
on A.UF_ABS equals U.CD_UF
where A.STG_ABS == STG
select new ABS_model
{
N_ABS = A.N_ABS,
STG_ABS = A.STG_ABS,
NM_STG = S.NM_STG,
PRN_STG = S.PRN_STG,
DT_ABS = A.DT_ABS,
UF_ABS = U.NM_UF,
INTTL_UF = U.NM_UF,
JSTF_ABS = A.JSTF_ABS,
JSTF_DOC_ABS = A.JSTF_DOC_ABS
};
if(R.Any())
{
return R.ToList();
}
else
{
return null;
}
用途:
var R = (from A in SCHOOL_DB_Context.Con.ABS
join S in SCHOOL_DB_Context.Con.STGs on A.STG_ABS equals S.CD_STG
join U in SCHOOL_DB_Context.Con.UFs on A.UF_ABS equals U.CD_UF
where A.STG_ABS == STG
select new ABS_model {
N_ABS = A.N_ABS,
STG_ABS = A.STG_ABS,
NM_STG = S.NM_STG,
PRN_STG = S.PRN_STG,
DT_ABS = A.DT_ABS,
UF_ABS = U.NM_UF,
INTTL_UF = U.NM_UF,
JSTF_ABS = A.JSTF_ABS,
JSTF_DOC_ABS = A.JSTF_DOC_ABS
}
).ToList();
return R.Any() ? R : null