0

以下のコードでtransmittalno.TransIDは常に値がdoctranstocon.Transidありますが、値がある場合とない場合があるため、値があるdoctranstocon.Transid場合は問題ありませんが、値がない場合は、 where 句で比較すると : のようになりますtransmittalno.TransID == doctranstocon.Transid「オブジェクト参照がオブジェクトのインスタンスに設定されていません。」というエラーが返されます。

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

「 doctranstocon.Transid 」に値がない場合、 TranstoCons が 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 
             };
4

2 に答える 2

0

これを使用できます:

where doctranstocon != null && doctranstocon.Transid.Equals(transmittalno.TransID)
于 2012-10-18T05:09:26.223 に答える
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
             };
于 2012-10-18T05:09:38.050 に答える