0

Transnett と obnett の前の行の値を取得して、StackHistoryID に基づいて現在の行を更新したいので、上記のクエリは機能しますか?

var val = (from tn in db.tablename.ToList()
           where tn.ID.ToString() != currentID.ToString()
           orderby tn.TransactionDate descending
           group tn by tn.StackHistoryID into trans
           select new {
               transnett=trans.Select(t=>t.TransNett),
               obnett=trans.Select(t=>t.OBNett)
           }).FirstOrDefault();
4

1 に答える 1

0

TransactionDate に常に値があり、正しく設定されていると仮定すると、クエリは最新の行を返します。それはあなたが望むものですか、それともその前の行が欲しいですか?

クエリは次のように見えると思います:

var rows = from tn in db.tablename
           where tn.ID != currentID
           orderby tn.TransactionDate descending
           group tn by tn.StackHistoryID into trans
           select new {transnett=trans.Select(t=>t.TransNett),obnett=trans.Select(t=>t.OBNett)});

var previousRow = rows.first();
于 2013-11-05T06:15:14.860 に答える