【问题标题】:Can not use Count() on property of Collection linQ不能在 Collection linQ 的属性上使用 Count()
【发布时间】:2017-06-23 10:58:02
【问题描述】:

我正在尝试获取前 5 个已售出的产品。我的想法是我计算了唯一的产品 ID 总数。但我得到错误显示:

'int?'不包含“计数”的定义,也没有扩展 方法 'Count' 接受类型为 'int?' 的第一个参数?

我在 2 小时左右尝试了很多方法,但仍然找不到正确的方法来处理它。 这是我的 sn-p 代码:

using(var ctx = new AuctionSiteDBEntities())
            {
                var listget = (from q in ctx.Auctions
                orderby q.IDPro.Count() descending
                select q).Take(5);
            }

【问题讨论】:

  • q.IDPro 显然是一个int?。你在这里数什么?
  • 产品表有导航属性吗?

标签: linq collections count


【解决方案1】:

我发现 LINQ 查询语法对于分组更容易理解:

var listget = (from q in ctx.Auctions
               group q by q.IDPro into qg
               orderby qg.Count() descending
               select qg.First()).Take(5);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-14
    • 2018-03-24
    • 2016-12-20
    • 2012-12-05
    • 1970-01-01
    相关资源
    最近更新 更多