当Linq查询没有记录时,返回一个空模型



请注意,我正在使用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;
}
正如Priyank Panchal提到的

用途:

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

最新更新