次の LINQ に相当するステートメントは何ですか?
SELECT FLOOR(Value / @Step) * @Step AS Bin,
COUNT(*) AS Cnt
FROM Measurements
WHERE (StepId = @StepId)
GROUP BY Bin
ORDER BY Bin
これらのパラメーターまたは列がどこから来ているのかは明確ではありませんが、LINQ to SQL を想定すると、これは多かれ少なかれ同等であるはずです。
var step = ...;
var stepId = ...;
var query =
from m in dc.Measurements
where m.StepId == stepId
group m by m.Bin into g
orderby g.Key
select new
{
Bin = Math.Floor(Value / step) * step, // where did "Value" come from?
Cnt = g.Count(),
};
ラムダ式を使用:
var query = dc.Measurements.AsEnumerable().Where(x=>x.StepId=_stepId).
GroupBy(g=>g.Bin).Select(xg=>new
{
Bin = Math.Floor(Value / step) * step,
Cnt = xg.Count(),
}
);