C# Linq到Sql仅比较时间
如何仅比较DateTime对象的时间而不获取以下内容 错误: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
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在当前上下文中不存在”。我必须使用它的任何名称空间吗?