1

我正在使用Entity Framework 5.0,我希望返回一个对象列表,但是,我想对列表中每个对象的一个​​属性执行 DISTINCT 。

我知道在Stackoverflow上已经有一些与我类似的问题,但是,我仍在努力解决这个问题。

目前我的查询看起来像这样

public IList<tblcours> GetAllCoursesByOrgID(int id)
{
     return _UoW.tblcoursRepo.All.Where(c => c.tblCourseCategoryLinks.Any(cl => cl.tblUnitCategory.tblUnit.ParentID == id))
            .OrderBy(c => c.CourseTitle)
            .ToList();
}

但是,我需要对属性MainHeadingID执行DISTINCT以删除任何已经具有相同 ID 的对象,但仍返回具有所有属性的整个对象

从我的方法中可以看出,我最好返回IList,而不是 Anonymous Type

对此的任何帮助将不胜感激。

谢谢。

4

1 回答 1

5

你试过使用GroupBy吗?

_UoW.tblcoursRepo.All.GroupBy(c => c.MainHeadingId)
                     .Select(g => g.FirstOrDefault())
于 2013-02-26T11:22:02.547 回答