Linq:按名称选择所有项目组,计数等于0

Seb*_*sek 1 .net c# linq linq-to-objects

我有表订单(名称,日期,价格)

  horse, 7.5.2012, 100
  cat, 14.5.2012, 50
  horse, 8.5.2012, 70,
  dog, 13.5.2012, 40
Run Code Online (Sandbox Code Playgroud)

我想在周一出示订单名称和价格总和.输出我想要的东西:

  horse, 100
  cat, 50
  dog, 0
Run Code Online (Sandbox Code Playgroud)

但现在我只有这个:

  horse, 100
  cat, 50
Run Code Online (Sandbox Code Playgroud)

用这个linq查询

  from c in orders
  where (int)c.date.DayOfWeek == this._monday
  group c by c.name into g
  select new {
    Name = g.Key,
    Price = g.Sum(c => c.Price)
  }
Run Code Online (Sandbox Code Playgroud)

你能帮助我吗,我必须改变什么来获得我想要的输出,拜托?:)

nem*_*esv 8

首先尝试灌浆然后在周一进行过滤

from c in orders  
group c by c.name into g
  select new {
    Name = g.Key,
    Price = g.Where(c => (int)c.date.DayOfWeek == this._monday).Sum(c => c.Price)
  }
Run Code Online (Sandbox Code Playgroud)