簡體   English   中英

LINQ 查詢:具有另一個表的 Count 元素的新查詢對象

[英]LINQ Query: new query object with a Count element of another table

波紋管是我試圖操作的 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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM