2017-01-25 2 views
0

月ごと(過去2ヶ月間のみ)合計を取り出し、コントローラ内の両方のレコードの合計を比較し、結果を表示するよりも望みます。MVCコントローラ自体のLinq出力にアクセス

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

ここでは、年、月、合計の匿名があります。 currrevを使用して、比較したい値と比較することができます。また、このクエリーの後にどのようなコードを実行しているのか、それがうまくいけば答えに役立つような詳細な質問を投稿してください。 –

+0

こんにちはYashveerさんはお返事ありがとうございます。コード全体が非常に長くなります。私は要件を述べています。 currRevの2つの値をどうやって比較するのか分かりません。このクエリは、私はビューとして表示する場合、正常に動作しますが、私は2ヶ月の合計を比較し、ビューで%の増加または減少を表示したいと思います。 – Guri

+0

こんにちは私はそれを書くことを試みた私はそれがあなたが十分な時間を見つけるdidntとして私は良いスタートの答えのIDを完了しないと思うが、これからあなたが行うことができるanyidea whtを願っています。 –

答えて

0

こんにちは、私は私の質問を変更しました。私は正常に動作している私のコントローラにこのコードがあります。それは、現在の月収益をゲンテーブルから取り出し、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(); 

    } 
+0

あなたの貴重な時間のためにYashveerに感謝、私はこれを試してみましょう。 – Guri

+0

それは私にNullを与えます。実際には、同じことが表示されるように、結果をビューバックに渡す必要があります。私は今月の合計と前月からの増減を欲しい。これは、私がMVCで開発しているダッシュボード画面で使用しているものです。 – Guri

+0

このコードはコンソールアプリケーションでwrritenで比較方法を表示します。あなたはあなたのmvcで腐食する必要があります。私はあなたにすべてのモデルクラスを持っていないので、自分のクラスを作成しました。クラスごとにコードを更新する必要があります。 –

関連する問題