2016-12-26 6 views
1

私のモデルの選択リストには以下のラムダ式があります。Nullableブール値がEntity Frameworkで機能しない

state変数はTrueFalse又は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を使用すると、正しく行が返されます。私はこの問題の理由を知りたい。

注:このコードは以前完全に動作していました。

+2

あなたは生成されたSQLを見てみましたか?問題はnull可能なboolのためかもしれない –

+1

あなたはboolの状態をboolに変換しようとしているようですか? Linq To Entitiesの内部で問題が発生する可能性があります.EFが結果SQLクエリに反映させる可能性があるためです。 Linqクエリの外でその変換を試みてください – Vladimir

+0

私の状態変数はboolですか?私は明示的かつ暗黙的に変換を試みました – mzonerz

答えて

0
var list = APPEntites.Submited_Files 
       .Where(r => r.Category == id.Trim() && r.approved == state) 
       .OrderByDescending(r => r.Date_Created) 
       .ToList(); 
+0

私は追加の変数を使いたくありません。 – mzonerz

+0

@mzonerzコードが編集されました –

0

ありがとうございました。 Visual Studioを再起動すると問題が解決しました。

関連する問題