0

我使用實體框架5.0,我希望返回對象的列表,但是,我想中的每個對象上的屬性的一個執行DISTINCT名單。LINQ到對列不同的實體,而不匿名類型

我知道有幾個類似於我的問題已經在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使用相同的ID已經刪除的任何對象,執行DISTINCT,但仍返回整個對象及其所有性質

最好,我想回的IList,你可以從我的方法看,並沒有匿名類型

任何幫助,這是非常感謝。

謝謝。

回答

3

您是否嘗試過使用GroupBy

_UoW.tblcoursRepo.All.GroupBy(c => c.MainHeadingId) 
        .Select(g => g.FirstOrDefault()) 
+0

fyi:性能不會很好,因爲向SQL的轉換很糟糕。但它的工作原理如此。 – usr 2013-02-26 11:32:06