我有我的模型的選擇列表下面的lambda表達式。可空布爾值在實體框架中不起作用
注:state
變量可以是True
,False
或NULL
。
var list = APPEntites.Submited_Files
.Where(r => r.Category == id.Trim() && r.approved == (bool?) state)
.OrderByDescending(r => r.Date_Created)
.ToList();
我在選擇時遇到問題。如果我通過這個STATE
變量與Null
,它將返回0列表項,但如果我使用null
,它將正確返回行。我想知道這個問題的原因。
注意:此代碼之前工作完美。
你有沒有試過看到生成的SQL?問題可能是因爲可空bool –
好像你試圖將bool狀態轉換成bool狀態?在Linq To Entities中,這可能是一個問題 - 因爲EF可能會試圖在結果SQL查詢中反映這一點。嘗試在Linq查詢之外進行轉換 – Vladimir
我的狀態變量是bool?類型和我試圖明確和隱式轉換 – mzonerz