System.DateTime 方法
下列 LINQ to SQL 支援的方法、運算子和屬性都可用於 LINQ to SQL 查詢中。 不支援某種方法、運算子或屬性時,就表示 LINQ to SQL 無法轉譯該成員,以便在 SQL Server 上執行。 雖然您可以在程式碼中使用這些成員,但是必須在查詢轉譯成 Transact-SQL 之前或從資料庫中擷取結果之後,評估這些成員。
支援的 System.DateTime 成員
一旦在物件模型 (Object Model) 或外部對應檔案中對應之後,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 支援的方法都會先轉譯成 Transact-SQL,然後再傳送至 SQL Server。 例如,以下列模式為例。
(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