C# 实体SQL比较日期时间(不含毫秒)

C# 实体SQL比较日期时间(不含毫秒),c#,tsql,entity-framework,objectquery,C#,Tsql,Entity Framework,Objectquery,我正在尝试使用EntityObject和EntitySQL查询从MSSQL数据库中获取一些记录。 我用来筛选的字段是datetime类型。 生成的查询以毫秒为单位投影到SQL Server,但不返回任何结果。 当我添加毫秒数时,我会得到结果 在没有毫秒的情况下,如何使用EntitySQL获得结果 谢谢。一种方法是创建数据视图,其中datetime列转换为smalldatetime(没有毫秒) 然后将视图添加到实体框架模型中,并通过视图读取数据 希望这有帮助 我发现的设拉子解决方法是在初始提取存储

我正在尝试使用EntityObject和EntitySQL查询从MSSQL数据库中获取一些记录。 我用来筛选的字段是datetime类型。 生成的查询以毫秒为单位投影到SQL Server,但不返回任何结果。 当我添加毫秒数时,我会得到结果

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


谢谢。

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

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

希望这有帮助


我发现的设拉子解决方法是在初始提取存储日期为.ToBinary()时,然后在筛选时只需执行新的日期时间(binaryValue)并与之进行比较。

它并不优雅,但这对我来说很有效:

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);