所以我在查询中使用了两次表,但我不知道另一种只使用一次的方法。这是我的查询:
var result = (from t1 in (from t1 in db.Students.Where(en => en.Progress == MyEnum.Accepted).GroupBy(en => en.Class).AsEnumerable()
join t2 in dbOther.Classes on t1.Key equals t2.Class
select t2)
join t3 in (db.Students).AsEnumerable() on t1.Class equals t3.Class into t4
select new
{
ClassNum = t1.Class,
StartDate = t1.StartDate,
Weeks = t1.Weeks,
Accepted = t4.Where(e => e.Progress == MyEnum.Accepted).Count(),
NotAccepted = t4.Where(e => e.Progress < MyEnum.Accepted).Count()
}).ToList();
我只需要让学生处于接受状态的课程即可。然后,我想获取班级和整个花名册的数量,甚至是未被录取的学生。有一个更好的方法吗?似乎从同一张表中读取两次不是最快的方法。
江户川乱折腾
相关分类