c# - Linq to entities 将日期时间与毫秒精度进行比较

标签 c# entity-framework linq datetime

我有一个特定的 linq to entity 查询,其编写如下:

var query = from orgs 
            in orgBaseQuery.Where(org => org.LastUpdated >= fromDate 
                                         && org.LastUpdated <= toDate)

toDatefromDate 的类型是.net DateTimeLastUpdated 的类型是SQL 日期时间。我的问题是生成的 SQL 查询中没有毫秒部分,这导致我们的应用程序出现一些错误。我想知道如果不将LastUpdated 的数据类型更改为datetime2 是否可以解决此问题?

最佳答案

如果你在数据库中的列是datetime ,那么您将无法获得所需的精度。它是一种遗留数据类型。从 SQL Server 2008(可能是 R2)开始,更好的数据类型是 datetime2 .它与 C# DateTime 类型完美匹配,包括精度。

关于c# - Linq to entities 将日期时间与毫秒精度进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41668677/

相关文章:

c# - Database.ExecuteSqlCommand 的返回值是什么?

Entity Framework 支持 SQL rowversion

c# - LINQ:如何将内部列表中的项目放入一个列表中?

C#:如何有效地从预定义格式的字符串中提取值?

c# - PhluffyFotos 不适用于 Azure SDK 1.3

c# - 如何为线程创建实用方法

c# - 使用 Time Span 比较两个时间间隔

c# - 如何让 ODATA 序列化 NotMapped 属性

c# - 使用 LinQ 创建表时无法确定...的 SQL 类型

c# - 使用Linq检查List <List <int> []>是否包含值