Dan*_*Dan 2 c# entity-framework date
我正在尝试仅按日期进行数据过滤(截断时间).数据库中的字段是DateTime.
作为参考,我尝试了这个不起作用的解决方案: LINQ to Entities不支持"Date".只支持初始值设定项,实体成员和实体导航属性 ,我应该使用由DbFunctions替换的EntityFunctions,但是,它仍然无效.
所以我搜索更多试图找到一些看起来像我的代码,然后我发现了另一个链接:使用DbFunctions我得到错误:LINQ to Entities不支持指定的类型成员'Date' 但我仍然得到同样的错误:
LINQ to Entities不支持指定的类型成员"Date".仅支持初始值设定项,实体成员和实体导航属性.
有什么建议吗?
我的代码:
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();
Run Code Online (Sandbox Code Playgroud)
如果您.Date
从PosVisData
属性中删除了呼叫,则可以避免该异常:
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();
Run Code Online (Sandbox Code Playgroud)
从DateTime
属性中提取日期部分是TruncateTime
静态方法的工作.