2011-07-25 9 views
0

以下のクエリで動作する単一のステートメントを検索しようとしています。 nullまたは整数値を照会することはできますが、両方を同じコードで照会することはできません。EntityFramework In nullの可能性のあるプロパティを検索する方法

enter image description here

enter image description here

int? age = null; 

    Student student; 

    age = 12; 

    //works 
    student = entities.Students.Single(s => s.Age == age); 

    //does not work - crash 
    student = entities.Students.Single(s => s.Age.Equals(age)); 

    age = null; 
    //works 
    student = entities.Students.Single(s => s.Age.Equals(age)); 

最初の回答に応じて、注:

//crashes with error - sequence contains no elements 
age = null; 
student = entities.Students.Single(s => s.Age == age); 

答えて

2

残念ながら、これはwell known and reported issueです。回避策:

student = entities.Students.Single(s => age == null ? s.Age == null : s.Age == age); 
0
student = entities.Students.Single(s => s.Age == age); 

1が要件を満たす必要があり、ヌル値に等しいかどうかをチェックし、値そのもの。

+0

いいえ、クラッシュ、上記の私の編集を参照してください – Petras

関連する問題