首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >LINQ to Entities中不支持“‘Date”。仅支持初始值设定项、实体成员和实体导航属性

LINQ to Entities中不支持“‘Date”。仅支持初始值设定项、实体成员和实体导航属性
EN

Stack Overflow用户
提问于 2011-08-17 03:29:53
回答 7查看 58.6K关注 0票数 50

我正在尝试执行以下代码,但收到一个错误

代码语言:javascript
复制
public List<Log> GetLoggingData(DateTime LogDate, string title)
{
     var context = new LoggingEntities();
     var query = from t in context.Logs

           where t.Title == title 
           && t.Timestamp == LogDate

           select t;
     return query.ToList();
}

我收到的错误是“LINQ to Entities不支持指定的类型成员'Date‘。只支持初始值设定项、实体成员和实体导航属性。”我尝试了各种将所有符号转换为字符串的尝试,只比较了日期部分,但似乎无法获得正确的组合。任何帮助都是非常感谢的。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-08-17 04:05:38

这不是最好的解决方案,但它是有效的。由于各种原因,我不得不在这一点上使用.net 3.5,修改数据库将是困难的。无论如何,这里有一个有效的解决方案:

代码语言:javascript
复制
            var query = from t in context.Logs
                      where t.Title == title 
                      && t.Timestamp.Day == LogDate.Day
                      && t.Timestamp.Month == LogDate.Month
                      && t.Timestamp.Year == LogDate.Year
                      select t;

这不是最优雅的解决方案,但它是有效的。

票数 25
EN

Stack Overflow用户

发布于 2015-10-26 15:12:39

票数 3
EN

Stack Overflow用户

发布于 2013-06-14 01:34:53

始终对x.DateTimeStart和LogDate使用EntityFunctions.TruncateTime()。例如:

代码语言:javascript
复制
var query = from t in context.Logs
              where t.Title == title 
              && EntityFunctions.TruncateTime(t.Timestamp) == EntityFunctions.TruncateTime(LogDate)
              select t;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7083871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档