真的坚持使用Linq进行SQL分组和求和,已经到处搜索但我不太了解其他解决方案应用于我自己.
我的数据库中有一个名为view_ProjectTimeSummary的视图,它包含以下字段:
string_UserDescription
string_ProjectDescription
datetime_Date
double_Hours
Run Code Online (Sandbox Code Playgroud)
我有一个方法接受一个to和from日期参数,并首先创建此List <>:
List<view_UserTimeSummary> view_UserTimeSummaryToReturn =
(from linqtable_UserTimeSummaryView
in datacontext_UserTimeSummary.GetTable<view_UserTimeSummary>()
where linqtable_UserTimeSummaryView.datetime_Week <= datetime_To
&& linqtable_UserTimeSummaryView.datetime_Week >= datetime_From
select linqtable_UserTimeSummaryView).ToList<view_UserTimeSummary>();
Run Code Online (Sandbox Code Playgroud)
在返回List(用作datagridview的数据源)之前,我使用相同名称的参数过滤string_UserDescription字段:
if (string_UserDescription != "")
{
view_UserTimeSummaryToReturn =
(from c in view_UserTimeSummaryToReturn
where c.string_UserDescription == string_UserDescription
select c).ToList<view_UserTimeSummary>();
}
return view_UserTimeSummaryToReturn;
Run Code Online (Sandbox Code Playgroud)
如何操作生成的List <>以显示该用户的项目double_Hours和来自和来自日期参数之间的项目的总和(而不是每个日期的单独条目)?
例如包含以下字段的List <>:
string_UserDescription
string_ProjectDescription
double_SumOfHoursBetweenToAndFromDate
Run Code Online (Sandbox Code Playgroud)
我是对的,这意味着我将不得不返回一个不同类型的List <>(因为它的字段少于view_UserTimeSummary)?
我已经读过这样的总和它就像'group/by/into b'但是不明白这种语法如何通过查看其他解决方案...有人可以帮助我吗?
谢谢Steve