[英]Linq to Entities Group By Order By Not Working
我有一个查询,我想返回类型为tblcours的对象的列表,像这样
public IList<tblcours> GetAllLiveCoursesByUnitID(int id)
{
Expression<Func<tblcours, bool>> predicate = x => x.tblCourseCategoryLinks.Any(cl => cl.tblUnitCategory.tblUnit.unitID == id);
int headingId = 180;
var distinctResult = from c in _UoW.tblcoursRepo.All
.Where(c => c.MainHeadingID != headingId)
.Where(predicate)
group c by c.MainHeadingID into uniqueIds
select uniqueIds.FirstOrDefault();
return distinctResult.ToList();
}
该查询正在做的是获取类型为tblcours的对象的列表,然后删除具有相同MainHeadingID的重复记录。 这很好,但是,我还需要将返回的数据按字母顺序排列,但是,无论我如何尝试,我都无法做到这一点。
到目前为止,我已经尝试了以下方法
distinctResult.OrderBy(c => c.CourseTitle);
return distinctResult.ToList();
但这永远行不通,它只会继续以无序方式返回列表。
有人可以帮我吗?
谢谢你的帮助。
尝试这个:
distinctResult= distinctResult.OrderBy(c => c.CourseTitle);
return distinctResult.ToList();
因为OrderBy返回的是可枚举的ordered,如此处所说 。 Order by不是modyfing集合。
我强烈建议您使用剃刀,他会抓住这些东西并警告您
您需要使用OrderBy
的返回值:
return distinctResult.OrderBy(c => c.CourseTitle).ToList();
OrderBy
不会在适当的位置排序distinctResult
。 而是返回一个新的已枚举的可枚举对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.