現在,我在我的存儲庫中遇到了這個空問題。這裏是我寫的一段代碼爲linq sql ...我已經嘗試了很多選項,但沒有幫助。需要針對問題null問題的解決方案
這裏的問題是,如果vidList得到空值,它就卡在第3行。
如果vidList正常,但fidListE爲null,則它將在返回中導致null異常。
我嘗試了很多選項,比如使用Count,使用'??' ...但仍然沒有幫助。
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
你是什麼意思? :)這裏列表據說包含0元素,如果它沒有任何。但是不是這樣,它直接導致null,這導致IEnumerable.Contains掙扎。我不知道有什麼辦法擺脫這個問題。 – DucDigital 2010-01-02 18:57:46