0
我有簡單的查詢。我想獲取在其他表中沒有對應行的行,或者如果它有,那麼SubField必須是false。總是如果實體框架
var list = ctx.Product.Where(p => p.Field == null || p.Field.SubField == false)
但是在這個查詢中,如果p.Field爲空,我總是得到所有行並不重要。即使我將第二個條件設置爲p.Field.SubField == true,我也會獲得所有行。
我創建了簡單的消息框,看看結果:
MessageBox.Show((c.Field== null).ToString());
result = true;
MessageBox.Show((c.Field.SubField == false).ToString());
result = object is not set exception
MessageBox.Show((c.Field == null || c.Field.SubField == false).ToString());
result = true;
我做錯了嗎?
愚蠢的問題,但實際上,你有'具有'SubField == true'字段的產品?你的查詢沒有任何明顯的錯誤。 –
該框架不說謊。 – SimpleVar
你正在檢查SubField == false,它會給你一個例外,說它沒有設置。它看起來像SubField對象可以爲null。 – nik0lias