C# Linq查询按时间跨度选择小于;x";
我如何选择具有Timespan类型的计算列的记录,其中我只希望选择Timespan大于某个数量的记录C# Linq查询按时间跨度选择小于;x";,c#,linq,C#,Linq,我如何选择具有Timespan类型的计算列的记录,其中我只希望选择Timespan大于某个数量的记录 MyRecords.Where(e=>e.Hours>0) 其中,Hours通过从endtime列减去starttime列计算得出。 上述代码返回: 运算符“>”不能应用于“System.TimeSpan”和“int”类型的操作数 尝试: 尝试: 尝试: 尝试: 那么: MyRecords.Where(e => e.Hours.HasValue && e.Ho
MyRecords.Where(e=>e.Hours>0)
其中,Hours通过从endtime列减去starttime列计算得出。
上述代码返回:
运算符“>”不能应用于“System.TimeSpan”和“int”类型的操作数
尝试:
尝试:
尝试:
尝试:
那么:
MyRecords.Where(e => e.Hours.HasValue && e.Hours.Value.Hours > 0);
那么:
MyRecords.Where(e => e.Hours.HasValue && e.Hours.Value.Hours > 0);
那么:
MyRecords.Where(e => e.Hours.HasValue && e.Hours.Value.Hours > 0);
那么:
MyRecords.Where(e => e.Hours.HasValue && e.Hours.Value.Hours > 0);
不能直接将TimeSpan对象与int进行比较,需要使用TimeSpan上的一个属性: 例如
MyRecords.Where(e=>e.Hours.HasValue&&e.Hours.Value.millides>0)
e.Hours.HasValue
和e.Hours.Value
是必需的,因为e实际上是TimeSpan?
类型,这是一种可为空的类型
我建议将计算列
e.Hours
重命名为更具描述性的列,因为它代表的是TimeSpan?
而不仅仅是几个小时。您不能直接将TimeSpan对象与int进行比较,您需要使用TimeSpan上的一个属性:
例如MyRecords.Where(e=>e.Hours.HasValue&&e.Hours.Value.millides>0)
e.Hours.HasValue
和e.Hours.Value
是必需的,因为e实际上是TimeSpan?
类型,这是一种可为空的类型
我建议将计算列
e.Hours
重命名为更具描述性的列,因为它代表的是TimeSpan?
而不仅仅是几个小时。您不能直接将TimeSpan对象与int进行比较,您需要使用TimeSpan上的一个属性:
例如MyRecords.Where(e=>e.Hours.HasValue&&e.Hours.Value.millides>0)
e.Hours.HasValue
和e.Hours.Value
是必需的,因为e实际上是TimeSpan?
类型,这是一种可为空的类型
我建议将计算列
e.Hours
重命名为更具描述性的列,因为它代表的是TimeSpan?
而不仅仅是几个小时。您不能直接将TimeSpan对象与int进行比较,您需要使用TimeSpan上的一个属性:
例如MyRecords.Where(e=>e.Hours.HasValue&&e.Hours.Value.millides>0)
e.Hours.HasValue
和e.Hours.Value
是必需的,因为e实际上是TimeSpan?
类型,这是一种可为空的类型
我建议将计算列e.Hours
重命名为更具描述性的列,因为它代表的是TimeSpan?
而不仅仅是几个小时