私はDataTableのデータをグループ化し、LINQを使用して1列を合計していますを入力しDBNull.Valueのをキャストすることはできませんが、実行時私は取得エラーは、「可能System.Int32
がDBNull.Valueのをキャストすることはできませんというエラーを取得していながら、 「System.Int32」と入力します。私はしたくない
.GroupBy(Function(v) New With {Key .InvestorStyleID = v.Field(Of Integer)("InstitutionalInvestorStyleID"), Key .StyleName = Not IsNothing(v.Field(Of String)("InstitutionalInvestorStyleName"))}).
二行目でエラーを取得しています私のコード
Dim resultStyle = invData.Tables(0).AsEnumerable() _
.GroupBy(Function(v) New With {Key .InvestorStyleID = v.Field(Of Integer)("InstitutionalInvestorStyleID"), Key .StyleName = Not IsNothing(v.Field(Of String)("InstitutionalInvestorStyleName"))}) _
.Select(Function(v) New With {Key .InvestorStyleID = v.Key.InvestorStyleID, Key .StyleName = v.Key.StyleName, Key .Sum = v.Sum(Function(r) Double.Parse(r.Item("k001ICGeo").ToString()))})
が親切にヌルvalue.Iを取って回避する方法を私に示唆された以下の「NULL可能タイプを使用してください
私はこの問題がInstitutionalInvestorStyleIDだと考えています。これがデータベースでNULL可能であるかどうかを確認してください。 'v.Field(Integer?)(" InstitutionalInvestorStyleID ")' – shadow