1

次の製品クラスがあります。

public string Product{ get; set; }       
public int? Monday { get; set; }
public int? Tuesday { get; set; }
public int? Wednesday { get; set; }
public int? Thursday { get; set; }
public int? Friday { get; set; }
public int? Saturday { get; set; }
public int? Sunday { get; set; }
public string Zip { get; set; }  

プロパティは、その曜日の売上値を保持します。製品のリストを検索し、製品の最高の販売日に基づいてすべての製品の総売上を選択できるようにする必要があります。例: 以下のサンプルでは、​​製品 1 が月曜日に最高の売上を示し、製品 2 が日曜日に最高の売上を示しているため、合計は 2 (5378) を結合する必要があります。

 Product    Zip     City        State   Sunday  Monday  Tuesday Wednesday Thursday Friday

 Product 1  63103   Saint Louis MO      0       4728    0       1522      0        0

 Product 2  63103   Saint Louis MO      650     419     417     428       599      559

これが私がこれまでに持っているLINQコードです。

 var temp = report.SelectMany(p => p.SnapshotRecords)
                                 .Where(record => record.Zip == "63103")
                                 .GroupBy(g => new
                                     {
                                         g.Zip,
                                         g.ProductID
                                     })
                                 .Select(s => new SnapshotData()
                                     {
                                         Monday = s.Sum(g => g.Monday),
                                         Tuesday = s.Sum(g => g.Tuesday),
                                         Wednesday = s.Sum(g => g.Wednesday),
                                         Thursday = s.Sum(g => g.Thursday),
                                         Friday = s.Sum(g => g.Friday),
                                         Saturday = s.Sum(g => g.Saturday),
                                         Sunday = s.Sum(g => g.Sunday),
                                     });
4

1 に答える 1