我有一个简单的测试表:
Code FromDate Name
---- ---------- -------
001 2012-11-30 bertie
001 2012-12-01 bert
002 2012-12-01 ernie
001 2012-12-02 bert
002 2012-12-02 ernie
001 2012-12-03 ernie
002 2012-12-04 bert
如果我在此表中搜索,那么我想要具有最新“起始日期”的代码。
例如,搜索“ernie”应给出以下结果:“001 / 2012-12-03 / ernie”
搜索 'bert' 应该得到这样的结果:'002 / 2012-12-04 / bert'
如果我搜索“er”,我应该得到 2 条最新记录:“001 / 2012-12-03 / ernie”和“002 / 2012-12-04 / bert”
此查询不起作用:
from d in Data
where d.Name.ToUpper().Contains("ERNIE") && d.Code != null
group d by d.Code into g
select g.OrderByDescending(t => t.FromDate).FirstOrDefault()
这样做的最佳方法是什么?
结果还应该给我每个记录的名称,而不需要 sql 查询。
更新:
使问题更容易理解