0

私が使用しているlinqステートメントがあります

            var renewalQuery = from r in crnnsupContext.Renewals
                               from w in crnnsupContext.WorkPlaces
                               join p in crnnsupContext.ProvStates on p.ProvinceStateID equals r.EmployerProvState
                               where  r.RegNumber == _username && r.PlaceOfWork == w.WorkID
                               select r;

r.RenewalYear直近の年を取得したいので、次のようなものを試してみました

                var renewalQuery = from r in crnnsupContext.Renewals
                               group r by r.RenewalYear into g
                               from w in crnnsupContext.WorkPlaces
                               join p in crnnsupContext.ProvStates on p.ProvinceStateID equals r.EmployerProvState
                               where  r.RegNumber == _username && r.PlaceOfWork == w.WorkID
                               select g.max(r.RenewalYear);

明らかにそれは機能しません、誰かがこれのための正しい文法を知っていますか?どうもありがとう

4

1 に答える 1

0

年を選択し、その上でMax()を使用します。

var renewalQuery = (from r in crnnsupContext.Renewals
                               group r by r.RenewalYear into g
                               from w in crnnsupContext.WorkPlaces
                               join p in crnnsupContext.ProvStates on p.ProvinceStateID equals r.EmployerProvState
                               where  r.RegNumber == _username && r.PlaceOfWork == w.WorkID
                               select r.RenewalYear).Max();
于 2012-05-03T16:39:48.857 に答える