Linq to sql 如何创建一个不使用';在调用DATEDIFF时不使用毫秒?

Linq to sql 如何创建一个不使用';在调用DATEDIFF时不使用毫秒?,linq-to-sql,Linq To Sql,默认情况下,如果比较LINQ2SQL查询中的两个日期,则生成的SQL将是 DATEDIFF(MILLISECOND, .....) 这需要同时使用BIGINT,通常还需要一些CONVERT调用,具体取决于您正在执行的操作。例如,如果您编写 (DateTime1 - DateTime2).Days 真是一团糟 例如,我只想调用DATEDIFF(DAY,…)。这有可能吗?有可能!事实证明,System.Data.Linq.SqlClient中有一些很好的方法可以做到这一点 DateDiffDay

默认情况下,如果比较LINQ2SQL查询中的两个日期,则生成的SQL将是

DATEDIFF(MILLISECOND, .....)
这需要同时使用
BIGINT
,通常还需要一些
CONVERT
调用,具体取决于您正在执行的操作。例如,如果您编写

(DateTime1 - DateTime2).Days
真是一团糟


例如,我只想调用
DATEDIFF(DAY,…)
。这有可能吗?

有可能!事实证明,
System.Data.Linq.SqlClient
中有一些很好的方法可以做到这一点

DateDiffDay
DateDiffMinute
DateDiffMillisecond
.....
DATEDIFF
的结果调用将包含适当的第一个参数,您可以忘记对
CONVERT
的所有调用