一天以来,我在我的存储库中遇到了这个空问题。这是我为 linq to sql 编写的一段代码...我尝试了很多选项,但对此没有帮助。
这里的问题是,如果 vidList 有空值,它就会卡在第 3 行。
如果 vidList 没问题,但 fidListE 为 null,它仍然会在返回中导致 null 异常。
我尝试了很多选项,例如使用计数,使用'??' ...但仍然没有帮助。
public List<ATTACHMENT> existedAttachment(IList<int> vidList, IList<int> fidList, IList<int> iidList)
{
IEnumerable<int> vidListE = vidList.Distinct();
IEnumerable<int> fidListE = (fidList != null) ? fidList.Distinct() : null;
IEnumerable<int> iidListE = (iidList != null) ? iidList.Distinct() : null;
return (from d in _db.ATTACHMENTs
.Where<ATTACHMENT>(d =>
((vidListE != null) ? (vidListE.Contains<int>(d.VID_ID.Value)) : false) ||
((fidListE != null) ? (fidListE.Contains<int>(d.FID.Value)) : false) ||
((iidListE != null) ? (iidListE.Contains<int>(d.IMG_ID.Value)) : false)
)
select d).ToList<ATTACHMENT>();
}
有人可以给我一点线索吗?非常感谢你。我的大脑刚刚卡住了新年。:P