私のモデルの選択リストには以下のラムダ式があります。Nullableブール値がEntity Frameworkで機能しない
注: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を見てみましたか?問題はnull可能なboolのためかもしれない –
あなたはboolの状態をboolに変換しようとしているようですか? Linq To Entitiesの内部で問題が発生する可能性があります.EFが結果SQLクエリに反映させる可能性があるためです。 Linqクエリの外でその変換を試みてください – Vladimir
私の状態変数はboolですか?私は明示的かつ暗黙的に変換を試みました – mzonerz