首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何GroupBy虚拟列

如何GroupBy虚拟列
EN

Stack Overflow用户
提问于 2015-07-13 19:19:30
回答 1查看 53关注 0票数 0

你好,我有里夫斯的问题表,我正在尝试检查哪个里夫产生了最多的问题。这就是我的问题模型;

代码语言:javascript
运行
复制
public int Id { get; set; }
public string Name { get; set; }
public string Text { get; set; }
public short Sira { get; set; }
public DateTime Created { get; set; }
public virtual Topic Topic { get; set; }
public virtual Member WhoIs { get; set; }
public virtual Province Province { get; set; }
public virtual Town Town { get; set; }
public virtual District District { get; set; }
public virtual Reeve Reeve { get; set; }

如你所见,我将Reeve作为一个虚拟的table.When,我创建了一个表,我得到了Reeve_Id,并尝试.GroupBy(m => m.Reeve.Id),所以这是代码;

代码语言:javascript
运行
复制
public ActionResult GroupByReeve()
    {
        var model = new ProblemModel
        {

            ProblemsList = Db.Problems.GroupBy(m => m.Reeve.Id)
            .Select(s => new ProblemModel.ProblemForView
            {

                Id = s.FirstOrDefault().Id,
                CountItem = s.Count(),
                AllItem = Db.Problems.Count(),
               ReeveName=s.FirstOrDefault().Reeve.Name

            })

        };
        return View(model);
    }

所以我可以按问题的Id分组,而不是按ReeveId.The,视图返回4个项目(4个问题),但它们只属于2个Reeve,所以它必须显示2个项目,而不是4个项目。我该怎么做呢?

EN

回答 1

Stack Overflow用户

发布于 2015-07-13 19:38:25

我不确定,为什么你的代码不能工作(看起来应该能工作),但下面是你如何正确使用GroupBy:

代码语言:javascript
运行
复制
ProblemsList = Db.Problems.GroupBy(m => m.Reeve.Id,
                                   s => new ProblemModel.ProblemForView
        {

            Id = s.FirstOrDefault().Id,
            CountItem = s.Count(),
            AllItem = Db.Problems.Count(),
            ReeveName=s.FirstOrDefault().Reeve.Name

        });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31381986

复制
相关文章

相似问题

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