下列 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)
SQL方法 日期與時間方法
除了 結構所提供的 DateTime 方法之外,LINQ to SQL 也會從 System.Data.Linq.SqlClient.SqlMethods 類別提供下列方法來處理日期和時間:
- DateDiffDay
- DateDiffMillisecond
- DateDiffNanosecond
- DateDiffHour
- DateDiffMinute
- DateDiffSecond
- DateDiffMicrosecond
- DateDiffMonth
- DateDiffYear