访问MVC控制器本身的Linq输出

时间:2017-01-25 06:01:30

标签: asp.net-mvc entity-framework linq

我只想逐月获取(仅过去2个月)总数,并希望比较控制器中两个记录的总数,然后在视图中显示结果。

var currRev = (from p in dbObj.gen
                       group p by new { p.pdate.Year, p.pdate.Month } into grp
                       select new
                       {
                           Year = grp.Key.Year,
                           Month = grp.Key.Month,
                           total = grp.Sum(a => a.total_revenue)
                       }).OrderByDescending(a => a.Year).ThenBy(a => a.Month).Take(2).ToList();

dbObj是我的上下文类,gen是我的表。查询工作正常,但我如何比较输出值。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

嗨我修改了我的问题。我在我的控制器中有这个代码,工作正常。它简单地从gen表中获取当前月份Revenue,在Viewbag中存储,然后在视图中显示。它工作得很好,但现在需求发生了变化。我必须显示这个图以及上个月的增量或减量值。我在模型类中有gen表,有很多字段。但在这里我使用了pdate和total_revenue。

    datamasterEntities dbObj = new datamasterEntities();
    [Authorize]
    public ActionResult Index()
    {

        var currRev = from p in dbObj.gen
                where p.pdate.Month == Date.Now.Month && p.pdate.Year==Date.Now.Year
                select new
                {
                    total = p.total_revenue
                };
        var cTotal = currRev.Sum(p => p.total).ToString();

        if (cTotal != "")
        {                
            ViewBag.currRevenue = Convert.ToDecimal(cTotal).ToString("#,#", CultureInfo.GetCultureInfo("en-US"));
        }
        return View();

    }