System.DateTime 方法
以下受 LINQ to SQL 支持的方法、运算符和属性可以在 LINQ to SQL 查询中使用。 当某个方法、运算符或属性不受支持时,LINQ to SQL 将无法转换成员以在 SQL Server 上执行。 你可以在代码中使用这些成员,但是在将查询转换为 Transact-SQL 之前或在已经从数据库中检索结果之后,必须对这些成员进行计算。
支持的 System.DateTime 成员
在对象模型或外部映射文件中进行映射后,LINQ to SQL 允许您在 LINQ to SQL 查询内调用下面的 System.DateTime 成员。
不受 LINQ to SQL 支持的成员
LINQ to SQL 查询中不支持下列成员:
- IsDaylightSavingTime
- IsLeapYear
- DaysInMonth
- ToBinary
- ToFileTime
- ToFileTimeUtc
- ToLongDateString
- ToLongTimeString
- ToOADate
- ToShortDateString
- ToShortTimeString
- ToUniversalTime
- FromBinary
- UtcNow
- FromFileTime
- FromFileTimeUtc
- FromOADate
- GetDateTimeFormats
方法转换示例
在将 LINQ to SQL 支持的所有方法发送给 SQL Server 之前会将其转换为 Transact-SQL。 例如,考虑如下模式。
(dateTime1 – dateTime2).{Days, Hours, Milliseconds, Minutes, Months, Seconds, Years}
识别以上模式时,会将其转换成对 SQL Server DATEDIFF
函数的直接调用,如下所示:
DATEDIFF({DatePart}, @dateTime1, @dateTime2)
SQLMethods 日期和时间方法
除了 DateTime 结构提供的方法,LINQ to SQL 还提供 System.Data.Linq.SqlClient.SqlMethods 类中的如下方法,用于处理日期和时间:
- DateDiffDay
- DateDiffMillisecond
- DateDiffNanosecond
- DateDiffHour
- DateDiffMinute
- DateDiffSecond
- DateDiffMicrosecond
- DateDiffMonth
- DateDiffYear