私は大きな問題を抱えています。LINQ クエリの何が問題なのかわかりません。ジョブを実行する SQL クエリは次のとおりです。
SELECT TOP (100) PERCENT MIN(DateTime) AS DateTime, ETAG
FROM dbo.Table
GROUP BY ETAG, LEFT(DateTime, 10)
ORDER BY ETAG
このクエリを実行すると、約 5 万件の結果が得られます。LINQ でも同じことが必要です。これが私が試したものです:
from d in Table
group d by new { d.ETAG, Date = d.DateTime.Value.Year + d.DateTime.Value.Month + d.DateTime.Value.Day } into g
orderby g.Key.ETAG
select g.OrderBy(e => e.DateTime).FirstOrDefault()
これを実行すると、実行に数分かかり、約 9k の結果が得られます。何かがおかしいのですが、何が原因かわかりません。これを正しく理解するのを手伝ってください...よろしくお願いします