2016-10-25 10 views
0

私はデータテーブルに対して実行しているC#LINQを持っています。次のように クエリは次のとおりです。C#LINQクエリでNULLのDataTableフィールドをテストするにはどうすればよいですか?

フィールド "ddcamrproc" はnullです。私は、クエリの残りの部分を実行する前に、ヌルのフィールドをテストするためにLINQクエリを変更するにはどうすればよい

myRow.Field<int>("ddcamtproc")' threw an exception of type 'System.InvalidCastException' 

私は次の例外を取得しますか?

おかげで、 JohnB

答えて

2

Field methodはNULL可能teypesをサポートしています。

... && myRow.Field<int?>("ddcamtproc") == 0 
0

あなたにもこの方法を試みることができます。

var results = dtDetails.AsEnumerable() 
       .Where(x => x.ddceffect > DateTime.Today.AddDays(-7) && 
        x.ddcamtproc.HasValue && x.ddcamtproc.Value == 0); 

OR

var results = dtDetails.AsEnumerable() 
       .Where(x => x.ddceffect.Substract(DateTime.Today) == -7 
       && x.ddcamtproc.HasValue && x.ddcamtproc.Value == 0); 
0

int型は、あなたがintを記述する必要がありますので、system.structから派生しているので?フィールド内Field<int?>("ddcamtproc") == 0

どこのC#でも値の型を使用しています。それがnull値をとっている場合は、nullの型(intなど)を使用できます

関連する問題