Я пытаюсь преобразовать следующий SQL в выражение LINQ
SELECT COUNT(ID) AS Count, MyCode
FROM dbo.Archive
WHERE DateSent>=@DateStartMonth AND DateSent<=@DateEndMonth
GROUP BY MyCode
и я пытался использовать эту страницу в качестве примера:
Преобразование SQL, содержащего top, count, group и order, в LINQ (2 сущности)
Я понял это до сих пор, но застрял в понимании новой части
var res = (from p in db.Archives
where (p.DateSent>= dateStartMonth) && (p.DateSent< dateToday)
group p by p.MyCode into g
select new { ??????MyCode = g.something?, MonthlyCount= g.Count() });
Заранее спасибо за помощь
UPDATE:
Можете ли вы объяснить, что такое g.Key? Я не понимаю, откуда взялась эта переменная или на что она ссылается? Я имею в виду, что если я группируюсь на 4 разных вещи? Как бы я отнесся к каждому из них?
var res = from archive in db.Archives
where archive.DateSent >= dateStartMonth &&
archive.DateSent < dateToday
group archive by archive.MyCode, archive.Extra into archiveGrp
select new
{
MyCode = archiveGrp.Key,
Extra = archiveGrp.???
MonthlyCount = archiveGrp.Count()
};