Linq to实体将datetime与毫秒精度进行比较

时间:2017-01-16 02:35:34

标签: 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 DateTime。我的问题是生成的SQL查询中没有毫秒部分,这导致我们的应用程序出现一些错误。我想知道在没有将LastUpdated的数据类型更改为datetime2的情况下是否有任何此问题的解决方案?

1 个答案:

答案 0 :(得分:7)

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