Linq to SQL のグループ化と集計に本当に固執し、どこでも検索しましたが、他のソリューションを自分自身に適用するのに十分な理解がありません。
データベースに view_ProjectTimeSummary というビューがあり、これには次のフィールドがあります。
string_UserDescription
string_ProjectDescription
datetime_Date
double_Hours
to および from date パラメータを受け取り、最初にこの 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>();
リスト (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;
結果の List<> を操作して、そのユーザーとプロジェクトのフィールド double_Hours の to と from の日付パラメーターの合計を表示するにはどうすればよいですか(日付ごとに個別のエントリではありません)。
たとえば、次のフィールドを持つ List<> :
string_UserDescription
string_ProjectDescription
double_SumOfHoursBetweenToAndFromDate
これは、別のタイプの List<> を返さなければならないことを意味するのでしょうか (view_UserTimeSummary よりもフィールドが少ないため)。
合計を取得するには、「group / by / into b」のようなものだと読みましたが、他のソリューションを見て、この構文がどのように機能するかわかりません...誰か助けてもらえますか?
ありがとうスティーブ