2016-10-28 1 views
0

私はasp.netコアにmultipleまたはwhereステートメントを使用して次のコードを持っています。それは常にpropmtエラー「要求の処理中に未処理の例外が発生したASP.NET LINQ MULTIPLEまたはその中で

とNullReferenceException:オブジェクト参照がオブジェクトのインスタンスに設定されていません lambda_method。」と言って

if (!String.IsNullOrEmpty(searchString)) 
{ 
    mTickets = from mt in mTickets 
       where 
       (mt.TicketServiceFullNo.Contains(searchString)) || (mt.DeviceNo.Contains(searchString)) select mt; 

} 
return View(await mTickets.AsNoTracking().ToListAsync()); 

をしかし、私ならばどこかで1つまたは条件を使用するだけです。それが動作します。なぜ私は考えていない。助けてください。おかげ

これはmt.DeviceNoがnullであることはほぼ確実だ

if (!String.IsNullOrEmpty(searchString)) 
{ 
    mTickets = from mt in mTickets 
       where 
       (mt.TicketServiceFullNo.Contains(searchString)) select mt; 

} 
return View(await mTickets.AsNoTracking().ToListAsync()); 
+2

を使用している場合には、その 'MTを示唆しています.DeviceNo'はnullです。 – ChrisF

+1

@ChrisF間違いなくヌルです – SeM

答えて

1

に動作します。

あなたは交換する必要があります:

(mt.DeviceNo.Contains(searchString)) 

(mt.DeviceNo != null && mt.DeviceNo.Contains(searchString)) 

または

(mt.DeviceNo?.Contains(searchString)) 

であなたがC#6.0

+0

あなたは私の週末を保存します。どうもありがとうございました。 – connie

関連する問題