TimeSpan:指定的类型成员' TotalHours' LINQ to Entities不支持

时间:2014-03-18 01:53:45

标签: c# .net linq entity-framework linq-to-entities

我有这段代码

var late_list = context.Results
                    .Where(r => ((TimeSpan)r.time_late).TotalHours > 0)
                    .ToList();

它不喜欢TotalHours的东西。错误是:"指定的类型成员' TotalHours' LINQ to Entities"

不支持

那么,如何使用时间跨度查询? ('时间'输入SQL)。

2 个答案:

答案 0 :(得分:0)

我刚用新的时间跨度来比较。

TimeSpan zero_time = new TimeSpan(0, 0, 0);
var late_list = context.Results.Where(r => ((TimeSpan)r.time_late) > zero_time).ToList();

答案 1 :(得分:0)

请检查System.Data.Entity.DbFunctions

我有一个where子句,我必须忽略DateTime where子句中的Time。

.Where(t => System.Data.Entity.DbFunctions.TruncateTime(t.LogTimeStamp) >= fromDate)
.Where(t => System.Data.Entity.DbFunctions.TruncateTime(t.LogTimeStamp) <= toDate)

对于您的情况,请检查DbFunctions.DiffHours Methods并考虑使用EntityFramework 6.当您使用TotalHours时,它可能无法直接帮助您。