以下 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