我有学生资料库,我希望得到一些成绩在0到2之间的学生。
这是我的代码:
_unitOfWork.Repository<Student>().Get(o => o.OrganizationId == organizationId
&& o.Grades.Where( o1 => o1.LastVersion
&& o1.Type == 5
&& o1.Value == 1).Count() > 0
&& o.Grades.Where( o1 => o1.LastVersion
&& o1.Type == 5
&& o1.Value == 1).Count() <= 2 );
此代码正常运行,但我的问题是如何使用更少的代码更改此查询。
有没有办法用一些变量替换Count而不在查询中使用它两次?
答案 0 :(得分:1)
这样的事情?
var values = Enumerable.Range(1, 2);
_unitOfWork.Repository<Student>().Get(o => o.OrganizationId == organizationId
&& values.Contains(
o.Grades.Where( o1 => o1.LastVersion
&& o1.Type == 5
&& o1.Value == 1).Count()
));