LINQ 查询:具有另一个表的 Count 元素的新查询对象



下面是我正在尝试操作的 LINQ 查询

var custSelect = from m in _context.Entities
where m.Active == true && m.EntityTypeId == 1
orderby m.Name
select new { m.EntityId, m.Name, JobCount = _context.Jobs.Where(o => o.CustomerId == m.EntityId).Distinct().ToList().Count };

我希望能够选择一个新的选择变量作为 JobCount,这是一个整数,用于计算附加到所述客户的作业数量。 然后稍后,在模型创建过程中,我希望能够按 Count 变量进行排序。

有什么办法可以做到这一点吗?

你可以试试这种方式,这是现场演示

var result = (from e in entities
join j in jobs on e.EntityId equals j.CustomerId
where e.Active && e.EntityTypeId == 1
select new 
{
e.EntityId, 
e.Name,
j.JobId
}).GroupBy( p => new { p.EntityId, p.Name })
.Select(g => new 
{
EntityId = g.First().EntityId, 
Name = g.First().Name,
JobCount = g.Count()  
})
.OrderBy(p => p.Name);

相关内容

  • 没有找到相关文章

最新更新