SFC.OrderFormModifiedMonitoringRecords
.SelectMany(q => q.TimeModify, w => w.DateModify)
.Distinct()
.OrderBy(t => t)
.SelectMany(t => new { RowID = t.rowID, OFnum = t.OFNo });
错误是我错过了什么,还是完全编码了错误的方法?在此之后,我将使用 Foreach 方法来收集多个数据而不重复。
答案 0 :(得分:4)
您传递给SelectMany
的代理人必须返回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
订购记录,选择两个属性rowID
和OFNo
,并仅返回不同的值对。