0

次のようなデータを持つ DB テーブルがあります。

LINE | QTY | USERID | DATE
-----------------------------------------
   1 |   5 |  qb1   | 2015-03-02 11:23:25
   2 |   1 |  qb2   | 2015-03-02 18:24:03
   3 |   3 |  ch1   | 2015-03-03 05:38:49
   1 |   2 |  qb1   | 2015-03-03 08:47:02
   2 |   4 |  qb2   | 2015-03-03 14:01:31
   3 |   2 |  ch1   | 2015-03-03 21:11:53
   1 |   4 |  qb1   | 2015-03-04 09:34:04
   2 |   5 |  qb2   | 2015-03-04 15:29:27
   3 |   1 |  ch1   | 2015-03-04 19:28:33

ご覧のとおりLINE、DB には 3 つの一意の値しかありません。すべての行の最新のレコードを選択するには、LINQ クエリが必要です。日付は任意の日付にすることができます。「DATE」フィールドに基づいて行の最新のステータスが必要なだけです。

現時点では、次のような非常に大まかなことを行っています。

var line1 = db.GetTable<lnk_sts>().Where(x=> x.LINE== 1).OrderByDescending(x => x.DATE).FirstOrDefault();

他の2についても同じです。私が必要とするのはlnk_sts、より大きな日付を持つものだけのリストです。この場合:

LINE | QTY | USERID | DATE
---------------------------------------
   1 |   4 |  qb1   | 2015-03-04 09:34:04
   2 |   5 |  qb2   | 2015-03-04 15:29:27
   3 |   1 |  ch1   | 2015-03-04 19:28:33
4

2 に答える 2