データベースに NULL 値があり、数値演算を実行しようとするとエラーが発生します。これをコントローラーアクションに入れてみました:
If String.IsNullOrEmpty(item.Tbl_Food.Fiber_TD_g) Then
item.Tbl_Food.Fiber_TD_g = 0
End If
このフィールドの私のモデル:
Public Property Fiber_TD_g() As Nullable(Of Double)
ただし、「Nullable オブジェクトには値が必要です」と表示されます。ライン上If String.IsNullOrEmpty(item.Tbl_Food.Fiber_TD_g) Then
。「文字列」(文字列ではなく double) が空であり、デフォルトでゼロに設定されているかどうかを確認するにはどうすればよいですか?
編集:
以下の提案を試しましたが、コントローラーではエラーが発生しなくなりましたが、代わりにビューでエラーが発生しました。「Nullable オブジェクトには値が必要です」と書かれています。私の見解では一線FiberTotal += item.Tbl_Food.Fiber_TD_g
を画しています。
Dim food = db.Tbl_Food_Logs.Where(Function(x) x.FLog_Employee_ID = empId And x.FLog_Created_Date >= date2 And x.FLog_Created_Date < tomorrow)
For Each item In food
If IsDBNull(item.Tbl_Food.Fiber_TD_g) Then
item.Tbl_Food.Fiber_TD_g = 0
End If
Next
Return View(food)