现在要用Linq查询出A中最新的[时间为最大的],Rank值最大的一条记录?要返回model对象
6 个解决方案
#1
var query=db.表A.Max(a=>a.CreateTime).Max(a=>a.Rank).ToList();
List<modelA >list=new List<modelA >();
foreach(var q in query)
{
modelA a=new modelA();
a.Id=q.ID
...
list.Add(a);
}
return list;
#2
var q = db.A.Max(p => p.CreateTime).ToList();
http://msdn.microsoft.com/en-us/vbasic/bb688086.aspx
http://msdn.microsoft.com/en-us/vbasic/bb688086.aspx
#3
正解
#4
你到底是要最新的 还是要RANK最大的 明显有冲突
#5
?
哪里有冲突?
比如说有下面几条记录
ID,Rank,Type,CreateTime
1001 34 2 20100804
1001 12 2 20100805
1001 67 2 20100805
1001 2 2 20100804
1001 120 2 20100805
1001 304 2 20100802
现有先取出最大的CreateTime,为20100805;然后再取出日期为20100805的Rank值最大的记录,为120,我需要的就是标记为红线的记录。用一条Linq语句怎么实现?
#6
先根据时间排序,再取rank最大的。
#1
var query=db.表A.Max(a=>a.CreateTime).Max(a=>a.Rank).ToList();
List<modelA >list=new List<modelA >();
foreach(var q in query)
{
modelA a=new modelA();
a.Id=q.ID
...
list.Add(a);
}
return list;
#2
var q = db.A.Max(p => p.CreateTime).ToList();
http://msdn.microsoft.com/en-us/vbasic/bb688086.aspx
http://msdn.microsoft.com/en-us/vbasic/bb688086.aspx
#3
正解
#4
你到底是要最新的 还是要RANK最大的 明显有冲突
#5
?
哪里有冲突?
比如说有下面几条记录
ID,Rank,Type,CreateTime
1001 34 2 20100804
1001 12 2 20100805
1001 67 2 20100805
1001 2 2 20100804
1001 120 2 20100805
1001 304 2 20100802
现有先取出最大的CreateTime,为20100805;然后再取出日期为20100805的Rank值最大的记录,为120,我需要的就是标记为红线的记录。用一条Linq语句怎么实现?
#6
先根据时间排序,再取rank最大的。