我正在尝试执行以下代码,但收到一个错误
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‘。只支持初始值设定项、实体成员和实体导航属性。”我尝试了各种将所有符号转换为字符串的尝试,只比较了日期部分,但似乎无法获得正确的组合。任何帮助都是非常感谢的。
发布于 2011-08-17 04:05:38
这不是最好的解决方案,但它是有效的。由于各种原因,我不得不在这一点上使用.net 3.5,修改数据库将是困难的。无论如何,这里有一个有效的解决方案:
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;
这不是最优雅的解决方案,但它是有效的。
发布于 2015-10-26 15:12:39
发布于 2013-06-14 01:34:53
始终对x.DateTimeStart和LogDate使用EntityFunctions.TruncateTime()。例如:
var query = from t in context.Logs
where t.Title == title
&& EntityFunctions.TruncateTime(t.Timestamp) == EntityFunctions.TruncateTime(LogDate)
select t;
https://stackoverflow.com/questions/7083871
复制相似问题