Server 2008中有一个timestamp列。
现在,我需要使用从日历服务器控件获取的日期来查询该列。
我们假设我有一个DateTime dt对象;
我需要通过这个datetime对象进行筛选,该对象返回该日期(Dt)上记录的所有记录。
var a = DateTime.Now.ToString();
var IsDone = from d in _le.diets
where d.log_time.Contains(a)
select d.done;_le是一个私有实体框架对象。
此代码存在问题:
错误3‘'System.Linq.ParallelEnumerable.Contains(System.Linq.ParallelQuery,’不包含‘
’的定义,最佳的扩展方法重载TSource)有一些无效的参数f:\tests\diet\diet\DataTier\DietMovieRepository.cs 3032饮食
错误2不能将lambda表达式转换为“string”类型,因为它不是委托类型f:\tests\diet\diet\DataTier\DietMovieRepository.cs 3026饮食。
错误1代表'System.Func‘不采用1个参数f:\tests\diet\diet\DataTier\DietMovieRepository.cs 30 26饮食
错误4实例参数:无法从“f:\tests\diet\diet\DataTier\DietMovieRepository.cs”byte[]转换为“System.Linq.ParallelQuery”3032饮食
我是EF初学者,谢谢你的帮助!
更新
在EF cs文件中
我明白了
public static diet Creatediet(global::System.Int64 id, global::System.Boolean done, global::System.Byte[] log_time)
{
diet diet = new diet();
diet.id = id;
diet.done = done;
diet.log_time = log_time;
return diet;
}发布于 2010-12-05 08:30:31
Server的“时间戳”与时间无关(实际上,“时间戳”的名称现在已被标记为废弃;"rowversion“是相同的,应该使用)。
如果你真的有一个“时间戳”,这是不可能的。如果将日期时间设置为插入时间,则应该很简单:
DateTime start = date.Date, end = start.AddDays(1);
...
where row.log_time >= start && row.log_time < end
...此外,如果您主要进行日期范围搜索,则log_time可能是聚集索引的合理选择。或者,如果您正在执行基于天的查询,则整数上的非聚集索引(即进入时代的日子)也会工作。
发布于 2010-12-05 08:15:36
假设你只想看看它的日期部分?那么你就应该能够做这样的事情:
var a = DateTime.Now;
var isDone = from d in _le.diets
where d.log_time.Date == a.Date
select d.done;https://stackoverflow.com/questions/4357945
复制相似问题