System.DateTime メソッド
LINQ to SQL でサポートされている以下のメソッド、演算子、およびプロパティは、LINQ to SQL のクエリで使用できます。 メソッド、演算子、またはプロパティがサポートされていない場合は、LINQ to SQL でメンバーを変換して SQL Server で実行することはできません。 これらのメンバーはコード内で使用できますが、クエリが Transact-SQL に変換される前、またはデータベースから結果が取得された後で評価する必要があります。
サポートされている System.DateTime メンバー
オブジェクト モデルまたは外部マッピング ファイルにマッピングされると、LINQ to SQL クエリ内で次の System.DateTime メンバーを呼び出すことができます。
サポートされている DateTime メソッド | サポートされている DateTime 演算子 | サポートされている DateTime プロパティ |
---|---|---|
Add | Addition | Date |
AddDays | Equality | Day |
AddHours | GreaterThan | DayOfWeek |
AddMilliseconds | GreaterThanOrEqual | DayOfYear |
AddMinutes | Inequality | Hour |
AddMonths | LessThan | Millisecond |
AddSeconds | LessThanOrEqual | Minute |
AddTicks | Subtraction | Month |
AddYears | Now | |
Compare | Second | |
CompareTo(DateTime) | TimeOfDay | |
Equals(DateTime) | Today | |
Year |
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 の日付と時刻のメソッド
LINQ to SQL では、DateTime 構造体で提供されるメソッドの他に、次に示す、日付と時刻を操作する System.Data.Linq.SqlClient.SqlMethods クラスのメソッドも提供しています。
- DateDiffDay
- DateDiffMillisecond
- DateDiffNanosecond
- DateDiffHour
- DateDiffMinute
- DateDiffSecond
- DateDiffMicrosecond
- DateDiffMonth
- DateDiffYear