3

LINQtoEF検索で単語を検索する必要があります。だから私は次のコードを書きました

 var Q = (from k in MyList 
                 where k.Name.Contains(query) || k.Description.Contains(query)   
                   select k).Count();
 if (Q == 0)
      continue;

ただし、「説明」フィールドがnullになる場合があります。そして、そのような場合はエラーが発生します。エラーを回避する方法はありますか?

4

1 に答える 1

5

含むを実行する前にnullを確認してください。

var Q = (from k in MyList 
             where k.Description!=null && (k.Name.Contains(query) || k.Description.Contains(query))   
               select k).Count();
if (Q == 0)
  continue;

またはおそらくより良い:

var Q = (from k in MyList 
             k.Name.Contains(query)  || 
              ( string.IsNullOrEmpty(k.Description)? false :   
                k.Description.Contains(query))   
               select k).Count();
if (Q == 0)
  continue;
于 2012-08-01T11:55:46.443 に答える