C# 实体Sql按问题分组,请提供帮助
请帮助我完成以下简单的E-sql查询:C# 实体Sql按问题分组,请提供帮助,c#,group-by,entity-sql,C#,Group By,Entity Sql,请帮助我完成以下简单的E-sql查询: var qStr = "SELECT SqlServer.Month(o.DatePaid) as month, SqlServer.Sum(o.PaidMoney) as PaidMoney FROM XACCModel.OrdersIncomes as o group by SqlServer.Month(o.DatePaid)"; 这是我的 我有一个名为OrdersIncomes的简单实体,具有ID、PaidMoney、DatePaid、Order
var qStr = "SELECT SqlServer.Month(o.DatePaid) as month, SqlServer.Sum(o.PaidMoney) as PaidMoney FROM XACCModel.OrdersIncomes as o group by SqlServer.Month(o.DatePaid)";
这是我的
我有一个名为OrdersIncomes
的简单实体,具有ID、PaidMoney、DatePaid、Order\u ID
属性
我想选择月份和合计PaidMoney,如下所示:
month Paidmoney
1 500
2 700
3 1200
T-SQL looks like this and works fine:
select MONTH(o.DatePaid), SUM(o.PaidMoney)
from OrdersIncomes as o
group by MONTH(o.DatePaid)
results:
-----------
3 31.0000
4 127.0000
5 20.0000
(3 row(s) affected)
但是E-SQL不起作用,我不知道该怎么办。下面是我需要重构的E-SQL:
var qStr = "SELECT SqlServer.Month(o.DatePaid) as month, SqlServer.Sum(o.PaidMoney) as PaidMoney FROM XACCModel.OrdersIncomes as o group by SqlServer.Month(o.DatePaid)";
有一个异常:ErrorDescription=“标识符“o”无效,因为它既不包含在聚合函数中,也不包含在GROUP BY子句中。”
如果我在GROUPBY子句中包含o,比如:FROM XACCModel.ordersin作为o GROUPBY o来表示
然后我就不会得到汇总和汇总的结果。
这是一个错误,还是我做错了
这是一个Linq到实体的查询,它也可以工作:
var incomeResult = from ic in _context.OrdersIncomes
group ic by ic.DatePaid.Month into gr
select new { Month = gr.Key, PaidMoney = gr.Sum(i => i.PaidMoney) };
为Group By子句指定别名,并在select子句中使用该别名
选择PaidMonth,SqlServer.Sum(o.PaidMoney)作为PaidMoney
来自XACCModel.orders的代码为o
按SqlServer分组。月(o.DatePayed)为PaidMonth