我尝试使用这一行:
return ObjectContext.TH_Proposal.GroupBy.where(/* condition*/).(y => y.ProposalID).Max(y =>y.ProposalDate);
我希望使用LINQ
这样的结果select *
from TH_Proposal
where ProposalDate in (select max(ProposalDate)from TH_Proposal group by ProposalID)
答案 0 :(得分:1)
你可以这样做:
ObjectContext.TH_Proposal.GroupBy(
p => p.ProposalID,
(id, g) => g.OrderByDescending(p => p.ProposalDate).First());
按ProposalID
对条目进行分组,然后选择ProposalDate
最高的条目。
答案 1 :(得分:0)
Linq比SQL更容易,因为Linq可以取每组的第一项:
return
ObjectContext.TH_Proposal
.OrderBy(y => y.ProposalDate)
.GroupBy(y => y.ProposalID)
.Select(g => g.First());