问题描述
我有这种ViewModel,是否有一种简单的方法来填补缺席的星期,所以代替
- 第17周/ 30.000
- 第25周/ 464.000
我有
- 第17周/ 30.000
- 第18周/ 0
- 第19周/ 0
- ...
- 第25周/ 464.000
https://i.imgur.com/QJHhKE5.png
解决方法
您必须左联接数据库项
var dbItems = query.ToList();
var allWeeks = Enumerable.Range(0,25);
var filledGaps =
from w in allWeeks
join item in dbItems on w equals dbItem.Week into j
from item in j.DefaultIfEmpty()
select new ViewModel
{
Week = w,Value = item?.Value ?? 0
}