2009-06-30 88 views
5

我试图从EntitySQL查询中使用EntityObject从MSSQL DB中获取一些记录。 我用来过滤的字段是日期时间类型。 生成的查询预计没有毫秒,到SQL Server不返回任何内容。 当我添加毫秒时,我得到了结果。实体SQL比较datetime毫秒

我怎样才能使用EntitySQL获得毫秒毫秒的结果?

谢谢。

回答

3

这不是优雅,但这个工作对我来说:

foos.SingleOrDefault(f => f.EntryDate.Year == bar.EntryDate.Year && 
          f.EntryDate.Month == bar.EntryDate.Month && 
          f.EntryDate.Day == bar.EntryDate.Day && 
          f.EntryDate.Hour == bar.EntryDate.Hour && 
          f.EntryDate.Minute == bar.EntryDate.Minute && 
          f.EntryDate.Second == bar.EntryDate.Second); 
1

一种方法是创建一个数据视图,其中datetime列转换为smalldatetime(毫秒数)。

然后将视图添加到您的实体框架模型,并通过视图读取数据。

希望这有助于

西拉

0

解决方法,我发现是初始获取存储日期为.ToBinary(),然后当你过滤只是做新的DateTime(binaryValue)和与之媲美。