Как LINQ отличать по нескольким полям без анонимных типов

У меня есть таблица с именем CLASS с полями

    **{BATCH, DEGREE, DEPT, SEM, SECTION, GROUP }** 

У меня есть следующие записи

Record1: {2009, BE, CSE, 3Sem, ASec, 1Group}

Record2: {2009, BE, CSE, 3Sem, ASec, 2Group}

Record3: { 2009, BE, ECE, 4Sem, ASec, 1Group}

Record4: {2009, BE, ECE,4Sem, ASec, 2Group}

Мне нужно выбрать отдельные записи. Игнорируя GROUP и учитывая только следующие

{BATCH, DEGREE, DEPT, SEM, SECTION}

, он должен вернуться мне следующие 2 Distinct Records

  Record1: ** {2009, BE, CSE, 3Sem, ASec, 1Group} **

DistinctRecord: 1 ------------------------ (OR) **

  Record2: ** {2009, BE, CSE, 3Sem, ASec, 2Group} **

----- (AND)

  Record3: ** {2009, BE, ECE, 4Sem, ASec, 1Group} **

DistinctRecord: 2 ------------------------ (OR)

  Record4: ** {2009, BE , ECE, 4Sem, ASec, 2Group} **

Теперь я использую следующий запрос LINQ

    public static object GetDistictClasses(IQueryable<Class> AllClasses)
    {
        return (from c in AllClasses
                group c by new { c.Batch, c.Degree_ID, c.Specialization_ID, c.CurrentSemester, c.Section_ID } into grp
                select new 
                {
                    grp.Key.Batch,
                    grp.Key.Degree_ID,
                    grp.Key.Specialization_ID,
                    grp.Key.CurrentSemester,
                    grp.Key.Section_ID
                }).Distinct();
    }

, но он возвращает мне анонимный тип , но мне нужен фактический тип класса

Кто-нибудь может мне помочь ... спасибо ..

Regrads Pradeep

7
задан Pradeep 27 May 2011 в 07:26
поделиться