【问题标题】:LINQ get the countLINQ 获取计数
【发布时间】:2015-02-16 02:51:26
【问题描述】:

我有以下查询返回预期结果,但我无法访问门票数量:

home.Projects = _db.Projects.Where(p => p.Users.Any(u => u.Id == userid)).Include(t => t.Tickets).ToList();

【问题讨论】:

  • home.Projects[0].Tickets.Count;(或 Count() if Tickets if IEnumerable<T> 以获取第一个项目的门票数量。
  • Projects 是一个 ICollection,所以我不能对它应用索引。我猜我可以循环,但寻找更快/更简单的方法。

标签: sql asp.net-mvc linq


【解决方案1】:

使用 SelectMany:

home.Projects.SelectMany(i => i.Tickets).Count();

为此,SelectMany 将一对多结果压缩为单个结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多