只返回计数大于X的对象

本文关键字:对象 大于 返回 | 更新日期: 2023-09-27 18:14:52

我不确定如何使用实体框架做到这一点。我得到了以下内容:

return this.enrollments
                .Where(e => e.em_enrolled == false && e.em_result < _settings.PassMark)
                .GroupBy(e => e.em_subject_id)
                .Select(e => e.em_subject_id)
                .ToList();

如何只检索出现x次的记录?

只返回计数大于X的对象

您是指包含x个或更多项的组吗?

return this.enrollments
                .Where(e => e.em_enrolled == false && e.em_result < _settings.PassMark)
                .GroupBy(e => e.em_subject_id)
                .Where(g => g.Count() >= x)
                .Select(g => g.Key)
                .ToList();

我猜你想:

return this.enrollments
           .Where(e => !e.em_enrolled && e.em_result < _settings.PassMark)
           .GroupBy(e => e.em_subject_id)
           .Where(g => g.Count() >= x)
           .Select(g => g.Key)
           .ToList();

请注意,我已经更改了Select部分,以反映您希望从组中提取组密钥的事实。(我也避免了和false比较,把e.em_enrolled == false改成了!e.em_enrolled。它们的意思当然是一样的,但我发现后者在c#中更习惯。)