2012-10-18 136 views
0

在下面的代碼中transmittalno.TransID總是有值,但doctranstocon.Transid有時有值,有時沒有,所以當doctranstocon.Transid有值時我沒有問題,但是當沒有任何值的時候, :transmittalno.TransID == doctranstocon.Transid。 它返回錯誤「對象引用不設置到對象的實例。linq查詢中的where子句

TranstoCons = from doctranstocon in _DocTranstoCons where 
       (transmittalno.TransID == doctranstocon.Transid ) 
       select doctranstocon.tblTranstoCon 

我喜歡TranstoCons當沒有對「doctranstocon.Transid」

任何值,則返回null我怎樣才能在下面的LINQ查詢處理此錯誤:

var query = from transmittalno in _Transmittals 
      Select new TransmittaltoConPresentationModel 
      { 
       TransID = transmittalno.TransID, 
       Transmittal = transmittalno.TRANSMITTAL, 
       TranstoCons = from doctranstocon in _DocTranstoCons where 
          (transmittalno.TransID == doctranstocon.Transid ) 
          select doctranstocon.tblTranstoCon 
      }; 

回答

0

您可以使用此:

where doctranstocon != null && doctranstocon.Transid.Equals(transmittalno.TransID) 
+0

謝謝gentelman它適合我完美 – masoud

+0

歡迎您! (由一位女士:)) – Seedika

0
var query = from transmittalno in _Transmittals 
      Select new TransmittaltoConPresentationModel 
      { 
       TransID = transmittalno.TransID, 
       Transmittal = transmittalno.TRANSMITTAL, 
       TranstoCons = from doctranstocon in _DocTranstoCons 
          where doctranstocon == null || transmittalno.TransID == doctranstocon.Transid 
          select doctranstocon != null? doctranstocon.tblTranstoCon : null 
      };