首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在没有匿名类型的多个字段中区分LINQ

如何在没有匿名类型的多个字段中区分LINQ
EN

Stack Overflow用户
提问于 2011-05-27 06:52:32
回答 2查看 41.5K关注 0票数 9

我有一个名为的表

代码语言:javascript
复制
    **{BATCH, DEGREE, DEPT, SEM, SECTION, GROUP }** 

我有以下记录

Record1:{ 2009,B.E,CSE,3 3Sem,ASec,1 1Group }

Record2:{ 2009,B.E,CSE,3 3Sem,ASec,2 2Group }

Record3:{ 2009年,B.E,欧洲经委会,4Sem,ASec,1 1Group }

Record4:{ 2009年,B.E,欧洲经委会,4Sem,ASec,2 2Group }

我需要选择不同的记录,忽略,只考虑以下几点

{批,度,部,扫描电镜,剖面}

因此,它应该返回下面的2不同记录

1------------------------(OR)**

Record1: \*\*{ 2009 , B.E , CSE , 3Sem , ASec , 1Group }\*\* DistinctRecord:

Record2:**{ 2009年,B.E,CSE,3Sem,ASec,2 2Group }*

-(和)

Record3:**{ 2009年,B.E,欧洲经委会,4 4Sem,ASec,1 1Group }*

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

Record4:**{ 2009年,B.E,欧洲经委会,4Sem,ASec,2 2Group }**

现在我使用以下LINQ查询

代码语言:javascript
复制
    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();
    }

但是它返回给我一个Ananymous类型,但我需要实际的类类型

有人能帮我..。谢谢。。

普拉迪普

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-27 07:08:58

您可以执行以下操作:

代码语言:javascript
复制
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 grp.First();

这将从给定组获取每个第一个Class,从而返回一个实体对象,而不是匿名类型。

票数 29
EN

Stack Overflow用户

发布于 2014-01-26 20:06:41

让它变得简单-不同是在两个属性上完成的:

  • 是用户的Id,
  • 是组id

此外,这将返回相同的对象类型。

代码语言:javascript
复制
var distinctgroupSubscriptions = groupSubscriptions.GroupBy(item => new { item.User.Id, item.Group.GroupId }).Select(group => group.First()).ToList();
票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6148809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档