1
SFC.OrderFormModifiedMonitoringRecords
   .SelectMany(q => q.TimeModify, w => w.DateModify)
   .Distinct()
   .OrderBy(t => t)
   .SelectMany(t => new { RowID = t.rowID, OFnum = t.OFNo });

それはエラーです私は何かを見逃しましたか、それとも完全に間違った方法でコーディングされていますか? この後、これをForeachメソッドで使用して、重複することなく複数のデータを収集します。

4

1 に答える 1

4

渡すデリゲートは、複数のコレクションを 1 つに折りたたむためSelectManyの and を返す必要があります。IEnumerableそうです、ここで何かが間違いなく間違っています。Selectあるコレクションを別のコレクションに単純にマップするものと混同していると思います。

あなたの目標が何であるかを知らなければ、それを修正する方法を正確に知ることは困難ですが、次のようなものが必要だと思います:

SFC.OrderFormModifiedMonitoringRecords
   .OrderBy(t => t.DateModify)
   .ThenBy(t => t.TimeModify)
   .Select(t => new { RowID = t.rowID, OFnum = t.OFNo })
   .Distinct();

またはクエリ構文で:

(from t in SFC.OrderFormModifiedMonitoringRecords
 orderby t.DateModify, t.TimeModify
 select new { RowID = t.rowID, OFnum = t.OFNo })
.Distinct();

DateModifyこれにより、 によってレコードが並べ替えられTimeModify、2 つのプロパティが選択さrowIDれ、OFNo異なる値のペアのみが返されます。

于 2013-08-22T06:42:21.933 に答える