C# Linq到Sql仅比较时间

C# Linq到Sql仅比较时间,c#,sql,linq,C#,Sql,Linq,如何仅比较DateTime对象的时间而不获取以下内容 错误: An exception of type 'System.NotSupportedException' occurred in mscorlib.dll but was not handled in user code Additional information: The specified type member 'TimeOfDay' is not supported in LINQ to Entities. Only init

如何仅比较DateTime对象的时间而不获取以下内容

错误:

An exception of type 'System.NotSupportedException' occurred in mscorlib.dll but was not handled in user code Additional information: The specified type member 'TimeOfDay' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.
我的代码:

var date = DateTime.Parse(query.DueTime);
entities = entities.Where(r => r.DueTime.TimeOfDay.Equals(date.TimeOfDay));

您是否尝试过使用函数EntityFunctions.TruncateTime(时间)

其内容如下:

var date = DateTime.Parse(query.DueTime);
entities = entities.Where(r => EntityFunctions.TruncateTime(r.DueTime) == EntityFunctions.TruncateTime(date));
希望这有帮助

这就是答案

var date = DateTime.Parse(query.DueTime);
var time = date.TimeOfDay;
entities = entities.Where(r => DbFunctions.CreateTime(r.DueTime.Hour, r.DueTime.Minute,  r.DueTime.Second) == time);

这将用于比较忽略时间的日期,OP只要求比较时间,我没有得到DBF函数。它给了我一个错误“名称DbFunctions在当前上下文中不存在”。我必须使用它的任何名称空间吗?