生成視圖中顯示的數據我使用ASP.NET MVC,EF 6和SQL Server 2008asp.net的MVC,原始SQL:使用聚合函數
我要生成一個視圖這將顯示所有的總和某一年特定月份每天的銷售額。
我發現LINQ查詢在這種類型的工作中非常複雜,所以我使用了原始SQL查詢。我寫了查詢和SQL服務器測試,它工作正常。
select
YEAR(Date) as Year,
MONTH(Date) as month,
DAY(Date) as date,
SUM(GrandTotal) as Total
from
Sales
where
Year(Date) = 2014
and MONTH(Date) = 12
group by
DAY(Date), YEAR(Date), MONTH(date)
結果
那麼目前我沒有太多的數據。但它看起來像我從查詢中得到了我想要的。
我爲此寫了一個控制器,現在我不知道如何在View中顯示這些數據。
public ActionResult MonthlySalesByDate()
{
DateTime today = DateTime.Now.Date;
int _year = today.Year;
int _month = today.Month;
//raw sql query
string query = "select SUM(GrandTotal) as Total, DAY(Date) as date, MONTH(Date) as month, YEAR(Date) as Year from Sales where Year(Date) = " + _year + " and MONTH(Date) =" + _month + " Group by DAY(Date), YEAR(Date), MONTH(date)";
//executing raw sql query
var _model = db.Stocks.SqlQuery(query).ToList();
return View(_model);
}
請幫我解決這個問題。如果還有更好的方法或者我犯了錯誤,請告訴我。
你想如何顯示它?一個月份和年份的標題和一張表格?表格應該是什麼樣子(日期和總計的列,或每天的列)? –
我想顯示爲列:|日期| TotalSales | 。如果日期列包含當月升序的所有日期和相應的總銷售額並且如果在特定日期沒有銷售時顯示0,則會更好。 –
如果你只想要有數量的日子(即模仿你的sql查詢),一個linq查詢來獲取它的總天數和總和是相對簡單的。我會考慮如何在月內的所有日子裏生成它 –