我有一个 IQueryable 变量,我的视图模型中有一个参数,它显示了我选择的日期和今天之间的差异,代码是:
public async Task<ResultData<HomePlannedRecieptInfo>> GetHomePlannedReciepts(HomePlannedRecieptQuery query)
{
var datelist = new List<DateTime>();
var date = DateTime.Now;
for (var i = 0; i <= 6; i++)
{
datelist.Add(date.AddDays(i));
}
datelist.Add(date);
IQueryable<HomePlannedRecieptInfo> result = context.HomePlannedRecieptInfos.Where(t=>t.Date >= DateTime.Today);
foreach (var item in result.ToList())
{
item.DayDiff = (item.Date.Date - DateTime.Now.Date).TotalDays.ToString();
}
var offset = (query.PageNumber - 1) * query.PageSize;
var psize = query.PageSize;
var countQuery = await result.CountAsync();
var data = result.OrderByDescending(c => c.Date);
return new ResultData<HomePlannedRecieptInfo>
{
CurrentPage = query.PageNumber,
TotalItems = countQuery,
PageSize = query.PageSize,
Data = data.ToList()
};
当我在 foreach 中执行代码时,我可以看到 item.dayDiff 中的天数,但是当数据返回时我看不到它。有人可以帮我吗?
您正在调用 result.ToList(),但您只是在 foreach 循环中对其进行迭代,实际上并未将其存储在任何地方。这应该解决它:
var resultAsList = result.ToList();
foreach (var item in resultAsList)
{
item.DayDiff = (item.Date.Date - DateTime.Now.Date).TotalDays.ToString();
}
...
var data = resultAsList.OrderByDescending(c => c.Date);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句