繁体   English   中英

Linq to Entities Group by Order by Not Working

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM