私は簡単なテストテーブルを持っています:
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」を検索すると、「001 / 2012-12-03 / ernie」と「002 / 2012-12-04 / bert」の 2 つの最新レコードが取得されます。
このクエリは機能していません:
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 クエリなしで名前も表示されるはずです。
更新:
質問をより理解しやすくしました