【问题标题】:How to count duplicated items如何计算重复项目
【发布时间】:2015-05-30 16:31:05
【问题描述】:
  ourProblems = Db.Problems.GroupBy(m => m.Title).Select(g => g.FirstOrDefault())
            .Select(s => new  ProblemsModel.Problems
            {
                Id = s.Id,
                Name=s.Name,
                Text=s.Text,

            })

所以在这里我得到了重复的项目,但如果有 5 个重复的项目,我需要这个数字,它只给我名字。我要它给我5 items you have

编辑工作;

 ourProblems = Db.Problems.GroupBy(m => m.Title)
            .Select(s => new  ProblemsModel.Problems
            {
                Id = s.FirstOrDefault().Id,
                Name = s.FirstOrDefault().Name,
                Text=s.FirstOrDefault().Text,
                CountItem=s.Count(),



            })

【问题讨论】:

  • 为什么不用SQL数据库聚合函数Count()?此外,请添加更多详细信息并指定您使用的数据库和 .NET 语言。最好的问候,
  • 因为我使用 select,如果我使用 count 和 select 会出错。我正在尝试购买相同的物品并显示您有 3 杯牛奶@AlexBell

标签: asp.net-mvc-4 linq-to-entities


【解决方案1】:

您需要消除第一个Select 并将First 行为移到第二个Select 中。试试这样的:

List<problemInstance> ourProblems =  Db.Problems
    .GroupBy(m => m.Title)
    .Select(s => new problemInstance
        {
            Id = s.First().Id,
            Name = s.First().Name,
            Text = s.First().Text,
            NumberOfOccurences = s.Count(),
        }).ToList();

【讨论】:

  • List中的problemInstance是什么意思。在选择部分新问题实例是我的视图模型。但在列表中它给出了无效的初始化器成员声明器
猜你喜欢
  • 2022-06-14
  • 1970-01-01
  • 2019-01-23
  • 1970-01-01
  • 2019-04-21
  • 2019-08-17
  • 2023-03-06
  • 2014-02-09
  • 2017-09-30
相关资源
最近更新 更多