5

我正在尝试使用 EntityObject 和 EntitySQL 查询从 MSSQL DB 中获取一些记录。我用来过滤的字段是日期时间类型。生成的查询在没有毫秒的情况下投射到 SQL Server,什么也不返回。当我添加毫秒时,我得到了结果。

我如何使用 EntitySQL 在没有毫秒的情况下获得结果?

谢谢。

4

3 回答 3

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);
于 2010-08-31T03:36:59.663 回答
1

一种方法是创建数据视图,将 datetime 列转换为 smalldatetime(没有毫秒)。

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

希望这可以帮助

设拉子

于 2009-07-02T17:52:33.573 回答
0

我发现的解决方法是在初始获取存储日期为 .ToBinary() 然后当您过滤时,只需执行 new DateTime(binaryValue) 并与之进行比较。

于 2009-08-13T15:04:38.200 回答