我们有以下产品分类。如何查找多个属性的最大值
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的周一销售额最高,Product2周日的销售额最高,因此总计应该合并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),
});
为什么不使您的生活更轻松,有一个'INT [7]'或者甚至一个枚举? – Sayse
我编辑了你的标题。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 –
这真的应该是一个字典''或'' –
xbonez