linq与max()和join
这是我正在使用的linq语句linq与max()和join,linq,Linq,这是我正在使用的linq语句 var renewalQuery = from r in crnnsupContext.Renewals from w in crnnsupContext.WorkPlaces join p in crnnsupContext.ProvStates on p.ProvinceStateID equals r.Employ
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);
显然,它不起作用,有人知道正确的语法吗?非常感谢选择您的年份,然后在上面使用Max()
有一个错误“名称'p'不在equals左侧的范围内”,此外,这是否仅获取RenewalYear?事实上,我想用最新的唱片获得整张唱片RenewalYear@pita,我以为你的查询是有效的,你只需要最大值year@pita-它不在左侧的范围内,因为这是你要加入的东西,所以它属于右边:
从w in…工作场所加入p in…r上的provestate.EmployerProvState等于p.ProvinceStateID
你是只想得到你收到的最新续订年份,还是最新年份由日历年决定?
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();