C# 使用DbFunctions截断DateTime时出错

C# 使用DbFunctions截断DateTime时出错,c#,entity-framework,date,C#,Entity Framework,Date,我试图得到一个只按日期过滤的数据(截短时间)。数据库中的字段是DateTime 作为参考,我尝试了这个无效的解决方案: 我应该使用的EntityFunctions被DbFunctions取代,但是它仍然不起作用 所以我搜索了更多,试图找到一些与我类似的代码,然后我找到了另一个链接: 但我还是得到了同样的错误: LINQ to实体中不支持指定的类型成员“日期”。仅支持初始值设定项、实体成员和实体导航属性 有什么建议吗 我的代码: var data = DateTime.Now.Date; Post

我试图得到一个只按日期过滤的数据(截短时间)。数据库中的字段是DateTime

作为参考,我尝试了这个无效的解决方案: 我应该使用的EntityFunctionsDbFunctions取代,但是它仍然不起作用

所以我搜索了更多,试图找到一些与我类似的代码,然后我找到了另一个链接: 但我还是得到了同样的错误:

LINQ to实体中不支持指定的类型成员“日期”。仅支持初始值设定项、实体成员和实体导航属性

有什么建议吗

我的代码:

var data = DateTime.Now.Date;
PostVisualizacoes visualizacao = db.PostVisualizacoes.Where(v => v.UsuId == usuario.UsuId && v.PosId == post.PosId && DbFunctions.TruncateTime(v.PosVisData.Date) == data).FirstOrDefault();

如果从
PosVisData
属性中删除
.Date
调用,则可以避免该异常:

var data = DateTime.Now.Date;
PostVisualizacoes visualizacao = db.PostVisualizacoes.Where(v => v.UsuId == usuario.UsuId && v.PosId == post.PosId
                                                              && DbFunctions.TruncateTime(v.PosVisData) == data)
                                                     .FirstOrDefault();

DateTime
属性中提取日期部分是静态方法的工作。

我认为截断必须在外部进行,而不是在Enfw中进行