エンティティ フレームワーク接続からデータを取得する LINQ クエリがあります。コントローラーからビューにデータを渡しています。コードを実行すると、「指定されたキャストが無効です」というエラーが表示されます。
これが私のLINQステートメントです
var MeltAreaInformation =
new
{
Striko1 = (from item in db.tbl_dppITHr where item.ProductionHour >= SelectedDateDayShiftStart && item.ProductionHour <= SelectedDateDayShiftHr25End select item).Sum(x => x.Striko1) ?? 0,
Striko2 =
(from item in db.tbl_dppITHr
where item.ProductionHour >= SelectedDateDayShiftStart && item.ProductionHour <= SelectedDateDayShiftHr25End
select item).Sum(x => x.Striko2) ?? 0,
Striko3 =
(from item in db.tbl_dppITHr
where item.ProductionHour >= SelectedDateDayShiftStart && item.ProductionHour <= SelectedDateDayShiftHr25End
select item).Sum(x => x.Striko3) ?? 0,
Striko4 =
(from item in db.tbl_dppITHr
where item.ProductionHour >= SelectedDateDayShiftStart && item.ProductionHour <= SelectedDateDayShiftHr25End
select item).Sum(x => x.Striko4) ?? 0,
Striko5 =
(from item in db.tbl_dppITHr
where item.ProductionHour >= SelectedDateDayShiftStart && item.ProductionHour <= SelectedDateDayShiftHr25End
select item).Sum(x => x.Striko5) ?? 0,
Induction1 =
(from item in db.tbl_dppITHr
where item.ProductionHour >= SelectedDateDayShiftStart && item.ProductionHour <= SelectedDateDayShiftHr25End
select item).Sum(x => x.Inductotherm1) ?? 0,
Induction2 =
(from item in db.tbl_dppITHr
where item.ProductionHour >= SelectedDateDayShiftStart && item.ProductionHour <= SelectedDateDayShiftHr25End
select item).Sum(x => x.Inductotherm2) ?? 0,
};
ViewData["Striko2"] = MeltAreaInformation.Striko1.ToString();
ここで、アプリケーションをデバッグして実行し、Var MeltAreaInformation にカーソルを合わせると、次のものが割り当てられていることがわかります。
以下は、HTML ページに ViewData を表示するために使用している Razor 構文です。
<table class="MeltTable">
<tr><th colspan="7">Total Weight Poured (kg's)</th></tr>
<tr><th>Striko 2</th><td class="MeltTableZero td @((int)ViewData["Striko2"] == 0 ? "red" : null)">@ViewData["Striko2"].ToString()</td></tr>
<tr><th>Striko 3</th><td class="MeltTableZero td @((int)ViewData["Striko3"] == 0 ? "red" : null)">@ViewData["Striko3"].ToString()</td></tr>
<tr><th>Striko 4</th><td class="MeltTableZero td @((int)ViewData["Striko4"] == 0 ? "red" : null)">@ViewData["Striko4"].ToString()</td></tr>
<tr><th>Striko 1</th><td class="MeltTableZero td @((int)ViewData["Striko1"] == 0 ? "red" : null)">@ViewData["Striko1"].ToString()</td></tr>
<tr><th>Striko 5</th><td class="MeltTableZero td @((int)ViewData["Striko5"] == 0 ? "red" : null)">@ViewData["Striko5"].ToString()</td></tr>
<tr><th>Induction 1</th><td class="MeltTableZero td @((int)ViewData["Inductotherm1"] == 0 ? "red" : null)">@ViewData["Inductotherm1"].ToString()</td></tr>
<tr><th>Induction 2</th><td class="MeltTableZero td @((int)ViewData["Inductotherm2"] == 0 ? "red" : null)">@ViewData["Inductotherm2"].ToString()</td></tr>
</table>
誰でも問題に光を当てることができますか。値を手動で割り当てようとしましたが、それでも同じ問題が発生します。