var tempList = ctx.V_Record.Where(p => p.SpecificType.Equals(specificType) || specificType.Equals("0")).OrderByDescending(p => p.DrawingId).ThenByDescending(p => p.Id).GroupBy(p => p.DrawingId).OrderByDescending(p => p.Key);
Dictionary<string, string> dic = new Dictionary<string, string>();
//先循环IGrouping的TKey
foreach (IGrouping<int, V_Record> iGrouping in tempList) { //再循环IGrouping的TSource
foreach (V_Record v_record in iGrouping) { var tempDrawingNo = v_record.DrawingNum; if (string.IsNullOrEmpty(tempDrawingNo)) { editionList.Add(v_record); } else if (!dic.Keys.Contains(tempDrawingNo)) { editionList.Add(v_record); } if (!string.IsNullOrEmpty(tempDrawingNo) && !dic.Keys.Contains(tempDrawingNo)) { dic.Add(tempDrawingNo, tempDrawingNo); } } }