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

您传递给的委托SelectMany必须返回一个IEnumerableand 用于将多个集合折叠为一个。所以,是的,这里肯定有问题。我认为您已经将它与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();

这将按DateModifythen对记录进行排序TimeModify,选择两个属性,rowID并且OFNo只返回不同的值对。

于 2013-08-22T06:42:21.933 回答