2010-09-10 44 views
0

我有一个订单对象(属性 - 日期,金额和供应商)的集合。我需要准备一份报告,显示自01/01/2009以来每个月的供应商支出。 我怎样才能得到使用LINQ的结果?linq查询在vb.net中获取每月费用

+2

尝试一些东西,告诉我们为什么它不能正常工作,我们可以帮助您正确地做到。 – Nix 2010-09-10 14:26:58

回答

1

喜欢的东西:

var minDate = new DateTime(2009, 1, 1); 

var query = from order in db.Orders 
      where order.Date >= minDate 
      group order by new { order.Vendor, 
           order.Date.Month, order.Date.Year } into g 
      select new { g.Key.Vendor, g.Key.Month, g.Key.Year, 
         g.Sum(x => x.Amount) }; 

将由供应商,月,年组。

+0

我需要它从2009年1月1日到当前日期(每当报告运行时的日期)。有没有更好的方法来做到这一点?谢谢你,ken – Ken 2010-09-10 14:54:37

+0

@ user441746:好的,我已经编辑过了......你在做什么? – 2010-09-10 15:09:24

+0

我需要一个结果集,其中包含3个“供应商,月份,该厂商当月花费的金额(总和)”。有没有一种方法可以在一次查询运行中获得所有结果?我的意思是我不想每个月分别使用循环或类似的方式运行它。我希望我已经清楚地解释了我想要达到的目标。 – Ken 2010-09-10 15:16:33