ここに私のコードは、私のコード内の各行を計算するはずですが、それはMU_w_o_No_Work
のための1つの行を生成しています。1行だけを表示
var query2 = from rg in db.MU_Reports.GroupBy(r => new { r.Date, r.Shift, r.Machine_Number })
join dt in db.Downtime_Reports
on new { rg.Key.Date, rg.Key.Shift, rg.Key.Machine_Number }
equals new { dt.Date, dt.Shift, dt.Machine_Number }
into dtGroup
select new
{
rg.Key.Date,
rg.Key.Shift,
rg.Key.Machine_Number,
MU = rg.Sum(r => r.MU),
NWTotal = dtGroup.Where(dt => dt.Downtime_Code == "9185").Sum(dt => dt.Total_DownTime)
};
query2.ToList();
foreach (var item2 in query2)
{
var y = new MU_By_Machine();
y.Date = item2.Date;
y.Shift = item2.Shift;
y.Machine_Number = item2.Machine_Number;
y.MU = item2.MU;
y.MU_w_o_No_Work = (item2.MU * 8)/(8 - item2.NWTotal);
db.MU_By_Machines.Add(y);
}
db.SaveChanges();
だから私は私が間違っているのを正確に知っているが、ここでのサンプル出力ではありません。
サンプル入力データ
Date | Machine Num. | Shift | MU | DT Hours
7/11/2016 | 1 | 1 | 70 | 2
7/11/2016 | 2 | 2 | 80 | 1
7/11/2016 | 1 | 2 | 60 | 4
7/12/2016 | 2 | 2 | 75 | 1
7/12/2016 | 1 | 2 | 75 | 0
サンプル出力データ
Date | Machine Num. | Shift | MU | MU w/o No work
7/11/2016 | 1 | 1 | 70 | 93.33
7/11/2016 | 2 | 2 | 80 | 91.43
7/11/2016 | 1 | 2 | 60 | 120
7/12/2016 | 2 | 2 | 75 | 85.7
7/12/2016 | 1 | 2 | 75 | 75
を言っています'query2'の結果ごとに1つの広告? – juharr
'' MU_w_o_No_Work'のために1行だけを生成するのはどういう意味ですか?ここで何を期待していますか?これは単なる数値なので、1つの値(複雑なオブジェクトではない)が存在するようです。 – Igor
それは私のデータテーブルの複数の行のためにそれをするはずですが、それは最後のもののためにそれをしています – JCM