执行Linq查询时时间距离的条件计算

本文关键字:条件 计算 距离 时间 Linq 查询 执行 | 更新日期: 2023-09-27 18:00:03

我想对具有StartTime属性的对象列表执行以下查询。问题是有时可以建立null值。

那么,我如何检查该值是否为null,以及是否在2个值之间执行随机数?

  var myOtherQuery = db.Table.Select(e=> e );
var myQuery = myOtherQuery.Select(e => new { e, TimeDistance = ((DateTime) e.StartTime - DateTimeNow).TotalMinutes });

这是L2SQL*某些对象在StartTime中具有空值,这会导致在尝试确定TimeDistance时出现异常*

执行Linq查询时时间距离的条件计算

你的意思是这样的吗?

var myQuery = myOtherQuery.Select(e => 
    new { E = e, 
          TimeDistance = ((e.StarTime.HasValue ? e.StartTime.Value : someOtherValue) - DateTime.Now).TotalMinutes 
    }
);

或者:

var myQuery = myOtherQuery.Select(e => 
    new { E = e, 
          TimeDistance = (e.StarTime.HasValue ? (e.StartTime.Value - DateTime.Now) : someOtherValue).TotalMinutes 
    }
);