我有一個類,看起來像這樣:LAMBDA至少存在的元素
public class TaughtSubject
{
public int TaughtSubjectId { get; set; }
public int TeacherId { get; set; }
public Teacher Teacher { get; set; }
public int FormId { get; set; }
public Form FormId { get; set; }
public int SubjectId { get; set; }
public Subject Subject { get; set; }
}
我收到了這些對象的列表,我想通過FormId
獲得由SubjectId
最少發生的一個即可。我也想回到第一個整個元素。不只是財產。
這裏是我的嘗試:
var teacher = taughtSubjects.GroupBy(t => t.SubjectId).OrderBy(g => g.Count()).Select(g => g.Key).First();
但這僅返回SubjectId。我想要整個教師對象並且還要添加第二排序條件FormId
。
因此,最少出現SubjectId的最少出現FormId的第一項?那是對的嗎?因此,確定SubjectId的最小計數,並在該組內確定FormId的最小計數,然後在該組內採取第一項? –
@AnthonyPegram是的。 –
而不是'Select(g => g.Key)'try'SelectMany(g => g)'。 (如果這是正確的,我現在太累了想現在; p) – leppie