これは私が望むように動作させることができましたが、クエリ構文に対してメソッド構文を優先します。このlinqをクエリ構文からメソッド構文に変換する方法
これはメソッド構文でどのように記述できますか?
var data = (from stat in this._applicationDbContext.Stats
where stat.SupId == this.GetCurrentSupId() && stat.StatType == 1
orderby stat.WeekEnding descending
group stat by stat.WeekEnding into statGroup
select new WeeklyStat
{
WeekEnding = statGroup.First().WeekEnding,
Amount = statGroup.Sum(a => a.StatValue)
}).Take(6);
これは、元のSQLです:
SELECT TOP (6)
SUM([stat_value]) AS lessons_graded,
CONVERT(DATE, [weekend]) weekending
FROM
[dbo].[Stats]
WHERE
stat_type = 1 AND sup_id = 1113
GROUP BY
CONVERT(DATE, [weekend])
ORDER BY
CONVERT(DATE, [weekend]) DESC
別の構文や言語で同等のコードを書くことは、まったく同じものではないので、この質問を議論の対象外とすることにしました。壊れたコードを修正するのに役立ちます。しかし、コード変換が必要な場合は、別の場所で試してみる必要があります。 –
@SamAxe:OPが明確ではない部分が明確に述べられていれば、話題になるでしょうか? – Stefan
@Stefan:そうは思いません。機能するコードを説明することは、SOが*想定する*ものではありません。明らかに、その評価にはいくらか反対です。 –