我想计算Suspenses属性中包含的记录数,其中包含一年的" 2013"和#34; 1"。
运行以下代码时出现错误:" DbComparisonExpression需要具有可比类型的参数。"我还是ASP.Net MVC的新手,不知道这是否是获得我的结果的方法。希望我能从你的评论中学习。我们将非常感谢您的帮助。
var suspenses = db.Suspenses.Include(s => s.User);
int[] count = new int[12];
for (var i = 1; i <= 12; i++)
{
// to count number of account suspenses on every months
suspenses = suspenses.Where(s => s.SuspenseDate.Year.Equals(year));
suspenses = suspenses.Where(s => s.SuspenseDate.Month.Equals(i));
count[i-1] = suspenses.Count();
}
答案 0 :(得分:1)
试试这个:
int recordsInJanuary2013 =
db.Suspenses.Count(se => se.SuspenseDate.Month == 1
&& se.SuspenseDate.Year == 2013);
答案 1 :(得分:0)
您可以通过每月分组并计算总数来一行完成:
var count = db.Suspenses.GroupBy(s => s.SuspenseDate.Month).Select(g=>g.Count());
答案 2 :(得分:0)
您可以在订单中使用总和
var suspenses = db.Suspenses.sum(s => s.User).where(m => m.mounth == 12);