タイトルで何を求めているのか、これ以上うまく表現できませんでした。
これが私が探しているものです。
私が持っている特定のオブジェクトDateTime
とString
プロパティの無秩序なリストがあります。
Stringプロパティには次のような値があります(これは数字ではなく文字列であり、常にK文字であることに注意してください。数字だけで注文する必要があります):
K07000564,
K07070000
K07069914
K07026318
K07019189
私が欲しいのは日付でリストを注文することです...しかし、文字列値が他の日付と一緒にコレクションに存在する場合に注文するとき、私はこの直後にそれらを注文したいと思います(IdFindersのそのミニグループでも日付で)...その後、注文を続けます...
このようなもの:
編集
IdFinderによる注文が機能しないことを明確にするために、例を編集しました...日付で注文する必要があります。日付で注文するときに、コレクション内にIdFinderが複数回存在する場合は、この最後の直後に表示されるはずです。それらの残りの部分などを各idfinderで注文し続けます
ID Date
**K07000564** Today
K07000562 Yesterday
K07000563 The Day Before Yesterday
**K07000564** The day before the day before yesterday
する必要があります
K07000564 Today
K07000564 The day before the day before yesterday
K07000562 Yesterday
K07000563 The Day Before Yesterday
以前のプロジェクトのSQLServer2008で、次のような方法でこれを実現しました。
WITH B
AS
(
SELECT
ID,
MAX(DATE_COLUMN) DATE_COLUMN,
ROW_NUMBER() OVER (ORDER BY MAX(DATE_COLUMN) DESC) RN
FROM MYTABLE
GROUP BY ID
)
SELECT *
FROM MYTABLE c
, B
WHERE ID= b.ID
ORDER BY b.rn, c.DATE_COLUMN desc;
しかし、私はLinqが苦手で、Linqでこれをどのように行うのかわかりません。
おそらく重要な注意事項私は.NEt2.0を使用しているため、利用可能なLINQはありませんが、Linqbridgeを使用してLinqを使用しています。
私はこれを試しましたが、お気づきのように、これは機能しません
oList.OrderBy(i => i.IdFinder).ThenByDescending(i => i.OperationDate);
これを明確に説明したいと思います