3 つの結合を含む LINQ クエリと、null 参照エラーをスローするグループ化操作があります。以下のクエリ (長文で申し訳ありません) で、「eDTK_PDP_Description」フィールドにスキップすると、それが問題の原因となっています。最後の結合に DefaultIfEmpty の仕様があることに気づきましたが、その結合からフィールドに値を割り当てれば、それが問題を解決するはずの null であると考えました。ここで何が間違っていますか?ありがとう!
Dim UpdateSiebelPDP1 = From j In ( _
From PDP In SiebelMultPDPDescNoNull _
Group Join Siebel In ProdBase _
On PDP.Siebel_PDP_Code Equals Siebel.Siebel_PDP_Code _
Into g = Group _
From Result In g _
Group Join EDTK In eDTKBase _
On PDP.Siebel_PDP_Code Equals EDTK.eDTK_PDP_Code _
Into h = Group _
From Result2 In h _
Group Join EDTK2 In EDTKPDPOneDescDet _
On PDP.Siebel_PDP_Code Equals EDTK2.PDP_Description _
Into i = Group _
From Result3 In i.DefaultIfEmpty _
Select Result.Siebel_PLI, _
Result.Siebel_PDP_Code, _
Update_DAD_Flag = If(Result.Siebel_DAD_Flag Is Nothing, "Yes", "No"), _
System = "Siebel", _
PDD_PDP_Description = If(Result2.PDD_PDP_Description Is Nothing, _
"", Result2.PDD_PDP_Description), _
Siebel_PDP_Description = "Multiple", _
eDTK_PDP_Description = If(Result3.PDP_Description Is Nothing, _
"Multiple", Result3.PDP_Description)) _
Group j By j.Siebel_PLI, _
j.Siebel_PDP_Code, _
j.Update_DAD_Flag, _
j.System, _
j.PDD_PDP_Description, _
j.Siebel_PDP_Description, _
j.eDTK_PDP_Description _
Into k = Group _
Select New With { _
Siebel_PLI, _
Siebel_PDP_Code, _
Update_DAD_Flag, _
System, _
PDD_PDP_Description, _
Siebel_PDP_Description, _
eDTK_PDP_Description}