我创建了一个似乎正常工作的linq语句.我可能或可能没有正确地写它,但它返回我的预期结果.
var grouped = RewardTransctions.GroupBy(t => new
{
t.PurchaseDate.Value.Month
}).Select(g => new TransactionDetail()
{
Month =
g.Where(w=>w.EntryType==1).Select(
(n =>
n.PurchaseDate.Value.Month))
.First(),
TransactionAmount = g.Count()
});
Run Code Online (Sandbox Code Playgroud)
现在结果返回按月分组的5个值.是否可以向TransactionAmount = 0添加其他7个缺失的月份?
我疯狂的原因是我试图将这些值绑定到图表并使我的x轴基于月份.目前它只显示了5个月的记录.如果我的数据在一个月内没有返回任何值,我就会想要添加0值.
有什么建议?
如果你使用它很简单.ToLookup(...).
var lookup =
(from w in RewardTransctions
where w.EntryType == 1
select w).ToLookup(w => w.PurchaseDate.Value.Month);
var grouped =
from m in Enumerable.Range(1, 12)
select new TransactionDetail()
{
Month = m,
TransactionAmount = lookup[m].Count(),
};
Run Code Online (Sandbox Code Playgroud)
几个简单的LINQ查询怎么样?
| 归档时间: |
|
| 查看次数: |
1405 次 |
| 最近记录: |